Hvad/ hvor er fejlen??
Jeg har en søge funktion hvor man kan skrive et ord ind i hvert input field, jeg har 8 input fields (fritekst1-8!).Desuden kan der søges på nogle faste søgekriterier (alder, region og køn). Alt virker som det skal, på nær når man ikke skriver noget ind i nogle af felterne, da opstår følgende fejl:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Her er koden:
<?php
if (isset($_POST['senddata'])){
//A connection to the database is established.
include('connections/sas_auth.php');
mysql_select_db($database_sas,$sas_auth);
//The function which searches the database for typed in data, starts.
function createSQL($tekst){
$sql = ("(ID LIKE '%$tekst%')
OR (RefNr1 LIKE '%$tekst%')
OR (RefNr2 LIKE '%$tekst%')
OR (RefNr3 LIKE '%$tekst%')
OR (ForNavn LIKE '%$tekst%')
OR (EfterNavn LIKE '%$tekst%')
OR (Adresse LIKE '%$tekst%')
OR (PostNr LIKE '%$tekst%')
OR (Samliv LIKE '%$tekst%')
OR (Barn LIKE '%$tekst%')
OR (HjemmeTlf LIKE '%$tekst%')
OR (ArbejdsTlf LIKE '%$tekst%')
OR (MobilTlf LIKE '%$tekst%')
OR (Email LIKE '%$tekst%')
OR (Interesser LIKE '%$tekst%')
OR (Rygte LIKE '%$tekst%')
OR (Udd LIKE '%$tekst%')
OR (Sprog LIKE '%$tekst%')
OR (ArbejdsErfaring LIKE '%$tekst%')
OR (IT LIKE '%$tekst%')
OR (Referencer LIKE '%$tekst%')
OR (Job LIKE '%$tekst%')
OR (Lon LIKE '%$tekst%')
OR (Dato LIKE '%$tekst%')
OR (KommentarKon LIKE '%$tekst%')");
return $sql;
}
$sql = ("SELECT * FROM Kandidater WHERE ");
$tjek = "nej";
$fritekst1 = $_POST['fritekst1'];
if ($fritekst1 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst1).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst1).")";
}
}
$fritekst2 = $_POST['fritekst2'];
if ($fritekst2 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst2).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst2).")";
}
}
$fritekst3 = $_POST['fritekst3'];
if ($fritekst3 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst3).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst3).")";
}
}
$fritekst4 = $_POST['fritekst4'];
if ($fritekst4 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst4).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst4).")";
}
}
$fritekst5 = $_POST['fritekst5'];
if ($fritekst5 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst5).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst5).")";
}
}
$fritekst6 = $_POST['fritekst6'];
if ($fritekst6 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst6).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst6).")";
}
}
$fritekst7 = $_POST['fritekst7'];
if ($fritekst7 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst7).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst7).")";
}
}
$fritekst8 = $_POST['fritekst8'];
if ($fritekst8 != '') {
if ($tjek == "nej") {
$sql .= "(".createSQL($fritekst8).")";
$tjek = "ja";
}else{
$sql .= "AND (".createSQL($fritekst8).")";
}
}
$alderfra = $_POST['alderfra'];
$aldertil = $_POST['aldertil'];
if ($alderfra != '') {
if ($tjek == "nej") {
if ($aldertil != '') {
$sql .= " (BirthYear BETWEEN $alderfra AND $aldertil)";
}else{
$sql .= " (BirthYear >= $alderfra)";
}
$tjek = "ja";
}else{
if ($aldertil != '') {
$sql .= " AND (BirthYear BETWEEN $alderfra AND $aldertil)";
}else{
$sql .= " AND (BirthYear >= $alderfra)";
}
}
}else{
if ($tjek == "nej") {
if ($aldertil != '') {
$sql .= " (BirthYear <= $aldertil)";
$tjek ="ja";
}
}else{
if ($aldertil != '') {
$sql .= " (BirthYear <= $aldertil)";
}
}
}
$region = $_POST['region'];
if ($region != '') {
if ($tjek == "nej") {
$sql .= " (Region1 = '$region' OR Region2 = '$region' OR Region3 = '$region')";
$tjek = "ja";
}else{
$sql .= " AND (Region1 = '$region' OR Region2 = '$region' OR Region3 = '$region')";
}
}
$mand = $_POST['kon2'];
if ($mand != '') {
if ($tjek == "nej") {
$sql .= " (Kon = 'Mand')";
$tjek = "ja";
} else {
$sql .= " AND (Kon = 'Mand')";
}
}
$kvinde = $_POST['kon1'];
if ($kvinde != '') {
if ($tjek == "nej") {
$sql .= " (Kon = 'Kvinde')";
$tjek = "ja";
} else {
$sql .= " AND (Kon = 'Kvinde')";
}
}
?>
<table align="center" width="400" class="borderlow">
<tr class="p">
<td colspan="4"><b>Søge resultater</b></td>
</tr>
<tr class="p">
<td class="hvid" bgcolor="#B6272D" align="left" width="50">ID</td>
<td class="hvid" bgcolor="#B6272D" align="left" width="120">Fornavn</td>
<td class="hvid" bgcolor="#B6272D" align="left" width="120">Efternavn</td>
<td bgcolor="#B6272D" align="left" width="15%"></td>
</tr>
</table>
<?php
//Search results are printed.
echo "$result";
$result = mysql_query($sql) or die(mysql_error());
echo "<table align='center' class='bordertop' width='400'>";
while ($row = mysql_fetch_array($result)) {
echo "<tr class='p'><td bgcolor='#CCCCCC' width='50'>$row[ID]</td>";
echo "<td bgcolor='#CCCCCC' width='120'>$row[ForNavn]</td>";
echo "<td bgcolor='#CCCCCC' width='120'>$row[EfterNavn]</td>";
echo "<td bgcolor='#CCCCCC' width='15%'><a href=\"found_data.php?id=$row[ID]\" class='sog' target='_blank'>Vis</a></td></tr>";
}
echo "</table>";
}
?>
