在php中的变量中存储一个字符串并在mysql数据库中搜索该变量?

时间:2015-04-11 08:22:00

标签: php mysql

如果我直接搜索字符串,它可以正常工作,但每当我将该字符串存储在变量中并尝试搜索它时,它会给我:

  

布尔(假)

这是我的代码

<?php
 $mysqli = new mysqli("localhost", "root", "password", "database");
 $roll_no='9999-SO-12';
 echo $roll_no;
 $res = $mysqli->query("SELECT name,title FROM student_data WHERE roll_no=$roll_no");

 var_dump($res);
  ?>

但是每当我直接这样做时它工作正常 例如像这样

<?php
 $mysqli = new mysqli("localhost", "root", "password", "database");
 $roll_no='9999-SO-12';
 $res = $mysqli->query("SELECT name,title FROM student_data WHERE roll_no='9999-SO-12'");

 var_dump($res);
  ?>

那么我做错了什么?解决方案是什么?

3 个答案:

答案 0 :(得分:1)

您将参数作为整数传递,尽管它是字符串。将您的查询更改为:

$mysqli->query("SELECT name,title FROM student_data WHERE roll_no='".$roll_no."'");

答案 1 :(得分:1)

做一些这样的改变:

$res = $mysqli->query("SELECT name,title FROM student_data WHERE roll_no='".$roll_no."'");

答案 2 :(得分:1)

请试一试。

 $res = $mysqli->query("SELECT name,title FROM student_data WHERE roll_no='".$roll_no."'");