Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL与php变量问题_Php_Mysql - Fatal编程技术网

MySQL与php变量问题

MySQL与php变量问题,php,mysql,Php,Mysql,我在将php变量放入mysql查询时遇到问题 例如: mysql_query("SELECT * FROM listings WHERE title LIKE '%ipod%'"); 这是可行的,但是 $key = "ipod"; mysql_query("SELECT * FROM listings WHERE title LIKE '%$key%'"); 那不行 不过我可能做错了。如果以上是正确的方法,那么可能我的脚本的另一部分有打字错误或类似的东西。 任何帮助都很好。您没有选择任何内容

我在将php变量放入mysql查询时遇到问题

例如:

mysql_query("SELECT * FROM listings WHERE title LIKE '%ipod%'");
这是可行的,但是

$key = "ipod";
mysql_query("SELECT * FROM listings WHERE title LIKE '%$key%'");
那不行

不过我可能做错了。如果以上是正确的方法,那么可能我的脚本的另一部分有打字错误或类似的东西。
任何帮助都很好。

您没有选择任何内容:

"SELECT * FROM listings WHERE title LIKE '%$key%'"
请注意
*

尝试以下操作:

$key = "ipod";
$results = mysql_query("SELECT * FROM listings WHERE title LIKE '$key'");
$num = mysql_num_rows($results);
echo "Received " . $num . "rows of results";

While ($row = mysql_fetch_assoc($results)) {
    echo '<pre>';
    print_r($row);
    echo '</pre>';
}
$key=“ipod”;
$results=mysql_query(“从列表中选择*,其中的标题类似于“$key”);
$num=mysql\u num\u行($results);
回音“已收到”$号码。“结果行”;
While($row=mysql\u fetch\u assoc($results)){
回声';
打印(行);
回声';
}
试试这个:

$key = "ipod";
$results = mysql_query("SELECT * FROM listings WHERE title LIKE '$key'");
$num = mysql_num_rows($results);
echo "Received " . $num . "rows of results";

While ($row = mysql_fetch_assoc($results)) {
    echo '<pre>';
    print_r($row);
    echo '</pre>';
}

你没有选择任何东西。旁注:
mysql\uu
命令被正式禁止使用,你应该开始使用or。我想,既然你说第一个命令有效(它不会像写的那样有效),也许echo$key,看看是否存在问题。如果没有它,这是非常危险的。用你的方法,您应该阅读SQL Injection()以及您的方法所带来的安全风险。这是行不通的,因为
$key
的值周围没有引号,请更正我的错误,但我认为*是一个通配符。我总是用它来选择表中符合条件的所有行。在本例中,是否从标题类似“%$key%”的“列表”表中选择所有行。如果这是一个愚蠢的问题,我很抱歉。我不太熟悉SQL语法。我只需要知道我是否一直在做错事。查询没有正确生成。这与选择无关。
 $key = "ipod";
 mysql_query("SELECT * FROM listings WHERE title LIKE '%".$key."%'");