2011-05-08 13 views
1

私はPHPコードに問題があります。問題は、内部にPHP変数を持つSQLクエリを実行するときに発生します。結果は何も表示されず、データベースのフィールドは空ではありません。静的ID(変数ではない)で試してみて、クエリが正常に動作します。PHPで空のクエリ結果

私はそれが間違っていることを知っていますか?

クエリコード:

$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion); 
+0

バックティック( ')を使ってあなたは何をしていますか? $ videoSeleccionadoの値が文字列の場合は、バッククォートではなく、一重引用符を使用してください。 –

+0

MySQLが返すエラーを処理する方法を学びます。なぜなら、動作していないときにクエリについて不平を言う理由を理解できるようにするためです。 MySQLエラーを処理する方法を学ぶことは、将来あなたに多くの時間を節約するのに役立ちます。 –

+0

backticksはphpmyadminで試してみてemを生成したからです。 – JMasia

答えて

1

はこれを試してみてください:

$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion) or die(mysql_error()); 

あなたにエラーメッセージが表示されます。

問題は、エスケープ文字として「と」の両方を同時に使用することです。

$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado';", $conexion); 

が有効です。

多くの場合、クエリをエコーし​​たときに最終結果を確認できるようになります。

+0

とにかく空の結果が出てきます。私が信じることができないことは、クエリ全体のエコーが返さなければならないものを返しますが、私はまだ空の結果を得ています...なぜそれが起こっているのか分かりますか?どうもありがとうございました。 – JMasia

+0

あなたは 'die(mysql_error());'の部分を追加しようとしましたか? – Ikke

1

あなたは間違った文字列を接続しているドット.オペレータ $consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado'", $conexion);

1

の必要がないので、あなたのクエリに二重引用符を使用しています! '一重引用符を使用していますが、double/noneを使用する必要があります。

mysql_query("SELECT * FROM `videos` WHERE `idvideo` = '$videoSeleccionado';", $conexion) 

それとも

mysql_query("SELECT * FROM `videos` WHERE `idvideo` = '{$videoSeleccionado}';", $conexion) 

それとも

$q = "SELECT * FROM `videos` WHERE `idvideo` = '%s';"; 
mysql_query(sprintf($q, $videoSeleccionado), $conexion) 

編集:

が、それはまだ動作していない場合は

この文字列で検索してください問合せに問題がある可能性があります。mysql_error()(1)を使用しているかどうかを確認したり、問合せをダンプしてみてください(2)。

例(1):

mysql_query("SELECT * FROM `videos` WHERE `idvideo` = '".$videoSeleccionado."';", $conexion) or die(mysql_error()); 

例(2):

$ Q = "SELECT * FROM videos WHERE idvideo = '$ videoSeleccionado';"; var_dump($ q); mysql_query($ q、$ conexion)

+0

とにかく空の結果が出ます。私が信じることができないことは、クエリ全体のエコーが返さなければならないものを返しますが、私はまだ空の結果を得ています...なぜそれが起こっているのか分かりますか?どうもありがとうございました。 – JMasia

+0

私は自分の答えを編集しました。 @ user743979 – Robik