<?php
include "head-main.php";
include "conn.php";
if(isset($_GET)){ $var = $_GET["cat"]; }
$data = mysql_query('SELECT kampword FROM data_dict where category=$var');
$retval = mysql_query($data, $conn);
if(! $retval) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval)) {
echo "World :{$row['kampword']} <br> ".
"--------------------------------<br>";
}
?>
私はプログラミングでは新しいです、私のコードで何が間違っているかはわかりません。私はいつもこのエラー を取得 SQLクエリのエラークエリーが空です
私のDB
上のいくつかのデータを印刷しようとしている「データを取得できませんでした:クエリが空だった」
を試してみてくださいhttp://stackoverflow.com/questions/12859942/)。それらはもはや維持されておらず(正式に推奨されていません)(https://wiki.php.net/rfc/mysql_deprecation)。 [red box](http://php.net/manual/en/function.mysql-connect.php)を参照してください。代わりに[* prepared statements *](https://en.wikipedia.org/wiki/Prepared_statement)について学び、[PDO](http://php.net/pdo)または[MySQLi](http:// php.net/mysqli) - [この記事](http://php.net/manual/en/mysqlinfo.api.choosing.php)は、あなたに最適なものを決定するのに役立ちます。 –
あなたのスクリプトは[SQL Injection Attack]の危険にさらされています(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)[Little Bobby Tables](http://bobby-tables.com/)[あなたが入力を逃れている場合でも、その安全ではありません!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around -mysql-real-escape-string)[prepared parameterized statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を使用します。 –
は '$ var'文字列ですか?それは価値がありますか? –