2 Stimmen

PHP-Variable funktioniert nicht in SQL-Abfrage?

echo $date1u

Schenkt mir 2010-04-21

Wenn ich dieses Datum in einer SQL-Abfrage fest einsetze, funktioniert es einwandfrei.

SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21'

Aber wenn ich stattdessen die $date1u direkt verwenden, funktioniert es überhaupt nicht.

"SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '".$date1u."' "

Was ist das Problem mit meiner Variable $date1u oder dem SQL-Format, das verhindert, dass dies funktioniert?

EDITAR

Einer Anregung gefolgt und versucht

$result1 = "SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '".$date1u."' ";
echo $result1;

Um das Ergebnis zu sehen und um zu sehen, wie in dieser Situation das Ergebnis ist

 SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-22'

Irgendwie, wenn ich echo $date1u allein seine 2010-04-21, aber wenn ich die var in der SQL-Abfrage echo 1 Tag bekam hinzugefügt

2voto

FreudianSlip Punkte 2850

Haben Sie Leerzeichen auf beiden Seiten der Variablen, d. h. Leerzeichen oder Tabulatoren? Wenn ja, ist dies wahrscheinlich die Ursache des Problems.

Versuchen Sie echo ">>" . $date1u . "<<";

Wenn Sie ">> 2010-04-21<<" erhalten, wissen Sie, dass Sie ein führendes Leerzeichen haben. Die Ermittlung der Variablenlänge kann ebenfalls helfen, Probleme zu lokalisieren.

1voto

Web User Punkte 6996

Ich frage mich, ob der Wert, der von $date1u gibt einen Wert zurück, der von Anführungszeichen umgeben ist. Ist dies der Fall, müssen Sie die Anführungszeichen entfernen, bevor Sie den Wert in Ihre SQL-Abfrage einfügen.

0voto

Chris Punkte 582

Ich vermute

dies:

SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '2010-04-21'

sollte so lauten:

SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = 2010-04-21

müssen Sie die '' auf das Datum. Dies ist für Sql-Abfrage Fehler.

0voto

Jonathan Punkte 585

Ich habe dies auf meinem Server ausprobiert und es hat funktioniert.

"SELECT * FROM phoneappdetail WHERE salebarn='OSI' AND saledate='$date1u'"

Die Programmierung mag nicht perfekt sein, aber sie hat funktioniert.

0voto

Habeeb Punkte 166

Versuchen Sie dies

"SELECT * FROM phoneappdetail WHERE salebarn = 'OSI' AND saledate = '" . trim($date1u) . "'"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X