我在写这篇文章之前寻找了答案,但什么也没找到,但如果我错过了,请随时发布链接。
我正在尝试从mysql表的一行中获取这些值。我在下面使用的查询不返回任何内容;mysql_num_rows的回显始终为零。我知道在WHERE中使用的title变量是有效的,数据库是连接的,等等。在进阶时谢谢。
$title = $_REQUEST["title"];
$query = mysql_query("SELECT * FROM links WHERE title = '$title'");
if(!$query) {
die ("Error: " . mysql_error());
}
echo mysql_num_rows($query);
$row = mysql_fetch_row($query);//also tried mysql_fetch_array
$link = $row['link'];
$type = $row['type'];
$user = $row['user'];
$date = $row['date'];
$rating = $row['rating'];
$info = $row['info'];
发布于 2012-03-14 12:01:50
尝试使用:
$title = mysql_real_escape_string($_REQUEST["title"]);
$query = mysql_query("SELECT * FROM links WHERE title LIKE '$title'");
echo $query // run it in mysql prompt to check if there are any results first.
if(!$query) {
die ("Error: " . mysql_error());
}
echo mysql_num_rows($query);
$row = mysql_fetch_row($query);//also tried mysql_fetch_array
$link = $row['link'];
$type = $row['type'];
$user = $row['user'];
$date = $row['date'];
$rating = $row['rating'];
$info = $row['info'];
发布于 2012-03-14 12:02:20
$title = $_REQUEST["title"];
$query = mysql_query("SELECT * FROM links WHERE title = '$title'");
if(!$query) {
die ("Error: " . mysql_error());
}
echo mysql_num_rows($query);
while($row = mysql_fetch_row($query))
{
$link = $row['link'];
$type = $row['type'];
$user = $row['user'];
$date = $row['date'];
$rating = $row['rating'];
$info = $row['info'];
}
发布于 2012-03-14 12:09:23
如果mysql_num_rows返回0,这意味着您的查询可能没有从数据库中选择任何内容。您必须检查您的sql查询是否实际选择了任何内容。检查$title变量的值,并尝试直接执行对数据库的查询。
您还容易受到sql注入的攻击。始终过滤用户输入。为此,您可以使用mysql_real_escape_string和htmlspecialchars。
https://stackoverflow.com/questions/9695654
复制相似问题