0

这是我正在使用的代码。它只返回值$isbn 以 0 开头的查询。

:09913456不返回具有 isbn 值的行。

PhpMyadmin 中的相同查询工作正常。

$isbn = $_GET["isbn"];
$query = 'SELECT * FROM crossword_data WHERE isbn LIKE '.$isbn;
$result = mysqli_query($con,$query);

while($row = mysqli_fetch_array($result))
  {
    echo $row['title'];
  }      

mysqli_close($con);
?>
4

2 回答 2

1

请注意 sql-injection:用户数据直接进入您的数据库!逃脱它。否则,每个人都可能减慢、读取、写入或清空您的数据。

您将输入视为数字,但您的意思是字符串。数字不以 0 开头。

解决方案是

'SELECT * FROM crossword_data WHERE isbn LIKE "'.$isbn . '"'
于 2013-05-12T19:35:16.427 回答
0
$query = 'SELECT * FROM crossword_data WHERE isbn LIKE '.'%".$isbn."%';
于 2013-05-12T19:59:15.580 回答