php
2016-05-21 16 views -1 likes 
-1

Ich bin neu in Web-Anwendungen, ich habe versucht, diese einfache Abfragedie Abfrage einer Datenbank eine Tabelle zu füllen

$query2 = "SELECT * from sections WHERE starting = ' 8:00 ' And day = ' Monday ' AND section = '$section' AND campus = '$campus' AND year = '$year' "; 

$result = mysql_query($query2) or die(mysql_error($conn)); 
$count2 = mysql_num_rows($result); 
if($count2==0){ 
    echo'<td color=orange>&nbsp;</td>'; 
    } 
    while ($row = mysqli_fetch_array($result)) { 
     echo "<td>".$row['course']."</td>";} 

zu schreiben Jedoch habe ich diesen Fehler bin immer. Ich versuchte es herauszufinden, aber ich konnte es nicht. Könnte jemand plz mir helfen

Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das entspricht Ihrer MySQL-Server-Version für die richtige Syntax zu verwenden in der Nähe von 'Und Tag =' Montag 'UND Abschnitt =' A 'AND campus =' Nabatieh ' UND Jahr =' Bache 'bei Zeile 1

+2

'year = 'Bache''? sicher? Meine Vermutung ist, Jahr ist als Int definiert (aus einem guten Grund), aber Sie übergeben eine Zeichenfolge – Jeff

+0

Außerdem mischen Sie mysql und mysql. Das wird nicht funktionieren. Bitte [verwende nicht mysql_ * '] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?rq=1); Die 'mysql_ *' - Funktionen sind veraltet, [veraltet] (http://us3.php.net/manual/en/intro.mysql.php) und unsicher. Verwenden Sie ['MySQLi'] (http://us3.php.net/manual/en/book.mysqli.php) oder [' PDO'] (http://us3.php.net/manual/en/intro. pdo.php) stattdessen. –

+0

Wenn mein erster Kommentar Sie nicht auf den Fehler hinweist, den Sie haben, müssten Sie zeigen: wie/wo '$ Jahr' definiert ist und Ihre Tabellendefinition. – Jeff

Antwort

0

Ich denke, dass Ihr SQL-Server nicht unterhaltsam Groß-und Kleinschreibung Abfrage-Designs. Ich meine es unterscheidet zwischen Und & AND ... Also ich empfehle Änderung Ihrer Anfrage wie .. $ query2 = "SELECT * aus den Abschnitten WHERE Start = '8:00' UND Tag = 'Montag' UND Abschnitt = '$ Abschnitt 'AND campus =' $ campus 'UND Jahr =' $ Jahr '";

+0

Ich habe versucht, aber es hat nicht funktioniert –

+0

Dann lesen Sie die Kommentare zu Ihrer Frage ... – Jeff

+0

Wenn ja, dann bitte stören, um Ihre Datenbanktabellenentwurf zu zeigen, weil ich denke, dass Sie wahrscheinlich einen String-Wert an die Datenbank anstelle einer ganzen Zahl senden oder etwas ... –

-2

Es könnte das "Und" sein, nachdem die "Start" var in oberen und unteren ist. Obwohl Mysql nicht unbedingt die Groß-/Kleinschreibung beachtet, sollten Sie nicht zwischen Groß- und Kleinschreibung unterscheiden.

siehe hier ... http://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html

+0

Ich habe es versucht, aber es hat nicht funktioniert –

0

Geck, eine andere Möglichkeit ist, dass Sie nicht einen Raum nach dem ersten Wert vor und ... Haben Sie darauf überprüfen geben Sie es bitte ...

Weil der angezeigte Fehler 'Und ... Statt ... Es sollte' Und .... sein.

Verwandte Themen