Dieser doofe "unexpected T_VARIABLE" Fehler...

stephandziurla

Erfahrenes Mitglied
Hallo.....

....ihr wisst schon worum es geht. Ich bekomme in einem Script immer wieder den Fehler Parse error: parse error, unexpected T_VARIABLE in /blablabla/search1.php on line 87 - und ich habe keine Ahnung, woran das liegen kann....wäre schön, wenn mir jemand helfen könnte!!

Danke


Hier der Quellcodeausschnitt:
PHP:
if (isset($buttonOR1)) { $ORbutton = "OR"; } else { $ORbutton = "AND"; };
echo "ORbutton equals: ". $ORbutton."<br>";
echo "<br><br>";
$sfirma = str_replace('*', '%', $searchfirma);
$sansprechpartner = str_replace('*', '%', $searchansprechpartner);
$sort = str_replace('*', '%', $searchort);
echo "<hr>";
echo "company is: ".$sfirma."<br>";
echo "person is: ".$sansprechpartner."<br>";
echo "place is: ".$sort."<br>";
echo "<hr>";


//----------------------------create SQL-string--------------------------

if ($sfirma != '') {$choice=1;};
if ($sansprechpartner != '') {$choice=2;};
if ($sort != '') {$choice=3;};

if (($sfirma != '') AND ($sansprechpartner !='')) {$choice=4;};
if (($sfirma != '') AND ($sort !='')) {$choice=5;};
if (($sansprechpartner != '') AND ($sort !='')) {$choice=6;};
if (($sansprechpartner != '') AND ($sort !='') AND ($sort !='')) {$choice=7;};
echo "CHOICE EQUALS: ".$choice."<br>";  //die Ausgabe von choice funktioniert!


switch ($choice) {
  case 1: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE Name LIKE ".$sfirma.""; break;
  case 2: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE Vorname LIKE ".$sansprechpartner.""; break;
  case 3: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE Ort LIKE ".$sort.""; break;
  case 4: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Name LIKE ".$sfirma.") ".$ORbutton." (Vorname LIKE ".$sansprechpartner."))";break;
  case 5: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Name LIKE ".$sfirma.") ".ORbutton." (Ort LIKE ".$sort."))";break;
  case 6: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Vorname LIKE ".$sansprechpartner.") ".$ORbutton." (Ort LIKE ".$sort."))";break;
  case 7: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Name LIKE '."$sfirma."') ".$ORbutton." (Vorname LIKE '".$sansprechpartner."') ".$ORbutton." (Ort LIKE '".$sort."'))";break;
  default: echo "No choice!";break;
}
echo "SQL-string equals: ".$sqlsearch."<br>";

Das wichtigste hätte ich ja fast vergessen:
Zeile 87 ist die Zeile, welche mit "case 7:...." anfängt.
 
Zuletzt bearbeitet:
case 7: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Name LIKE '."$sfirma."') ".$ORbutton." (Vorname LIKE '".$sansprechpartner."') ".$ORbutton." (Ort LIKE '".$sort."'))";break;

muß es nicht heißen:
case 7: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Name LIKE '" .$sfirma."') ".$ORbutton." (Vorname LIKE '".$sansprechpartner."') ".$ORbutton." (Ort LIKE '".$sort."'))";break;

ich glaube Du hast . und " bei $sfirma verstauscht

vop
 
vop hat gesagt.:
muß es nicht heißen:
case 7: $sqlsearch = "SELECT * FROM T_Testtabelle WHERE ((Name LIKE '" .$sfirma."') ".$ORbutton." (Vorname LIKE '".$sansprechpartner."') ".$ORbutton." (Ort LIKE '".$sort."'))";break;

ich glaube Du hast . und " bei $sfirma verstauscht

vop
Arrrgh......jo das kann gut hinkommen, zumindest meckert er nicht mehr...... DANKE :)
 
Nunja, es wäre ja super toll und nahezu schon utopisch, wenn dies der einzige Fehler wäre, den ich hier habe:

PHP:
$sqlab = mysql_query($sqlsearch);
echo "<hr><hr><br><br>";
echo "<br>";
$numero = mysql_affected_rows();
echo "$numero queries found...<br><br><br>";
while ($row = mysql_fetch_object($sqlab)) {       //ZEILE 98
   echo "$row->Name<br>";
}
mysql_free_result($sqlab);      //ZEILE 101

Eigentlich ist das ja richtig so (hoffe ich doch mal), nur bekomme ich diesmal folgenden Fehler:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /blabla/search1.php in Line 98 und 101. -- Als Ergebnis einer Suche, wo eigentlich 5 Resultate herauskommen müssten, bekomme ich lediglich "-1"...... :confused:

Wieso? *heul*
 
Hallo!

Versuch es mal so:
PHP:
$numero = mysql_affected_rows(); 
echo $numero." queries found...<br><br><br>"; 
while ($row = mysql_fetch_object($sqlab)) {
echo $row->Name."<br>"; 
}
Gruss Dr Dau
 
Änder mal diese Zeile:
PHP:
 $sqlab = mysql_query($sqlsearch);
in das hier um:
PHP:
 $sqlab = mysql_query($sqlsearch) or die(mysql_error());
 
:( :mad: :)
Schön, dass es immer Menschen gibt, die einen eines besseren belehren! Tatsächlich habe ich ein Anführungszeichen vergessen, welches mir das Genick gebrochen hat.

Danke....ich werd das mit dem mysql_error() ab nun immer dazu schreiben :)
 
Zurück