简体   繁体   English

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

[英]Storing a string in a variable in php and searching for that variable in mysql database?

If I search for a string directly it works properly but whenever I store that string in a variable and try to search that it gives me: 如果我直接搜索字符串它可以正常工作,但每当我将该字符串存储在变量中并尝试搜索它时,它会给我:

bool(false) 布尔(假)

here is my code 这是我的代码

<?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);
  ?>

But whenever I do it directly It works fine for example like this 但每当我直接这样做它就像这样工作正常

<?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);
  ?>

So what am I doing wrong? 那么我做错了什么? What's the solution? 解决方案是什么?

You are passing the parameter as integer though it is string. 您将参数作为整数传递,尽管它是字符串。 Change your query to: 将您的查询更改为:

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

做一些这样的改变:

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

请试试这个。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM