求帮助,php查询数据库

lihengzhaozhao 2011-07-18 10:01:43
php脚本查询数据库,$searchtype为所要查询的字段,$searchterm为查询的内容,有如下语句:

$query = "select * from books where ".$searchtype."like '%'".$searchterm."%";
$result=$db->query($query);

第一句错了,但不知道错在哪里,昨天纠结了一天了!!!
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihengzhaozhao 2011-07-18
  • 打赏
  • 举报
回复
多谢多谢,我慢慢实践领悟。
kyzy_yy_pm 2011-07-18
  • 打赏
  • 举报
回复
$var = "123";

echo "$var";//输出123

echo '$var';//输出$var

echo "$varabc";//报错:Notice: Undefined variable: varabc in D:\mydir\test.php on line 33

echo '$varabc';//输出:$varabc

echo "{$var}abc";//输出123abc

echo '{$var}abc';//输出{$var}abc

echo $var . 'abc';//输出123abc

echo $var . "abc";//输出123abc

$sql = 'select * from table_name where id = ' . $id . ' and name = "' . $name . '"';//假设id是数字类型的,name是字符类型,那么此种方法是正确的,也可以
$sql = "select * from table_name where id = $id and name = '$name'"//因为外层引号是双引号所以里面的变量被解析了,如果
$sql = 'select * from table_name where id = $id and name = "$name"';//这样那么因为外面的引号是单引号所以里面的变量不被解析,所以如此写是不恰当的,当然了单引号也有好处那么就是单引号里面的内容不用经过解析所以在速度上高于双引号,这些都要在楼主做程序的时候斟酌下,至于更多的资料楼主慢慢就碰到了
lihengzhaozhao 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xuzuning 的回复:]

$query = "select * from books where ".$searchtype."like '%'".$searchterm."%";
↑这里少了个空格

php提供了很好的书写方法,为什么不用呢?
$query = "select * from books where $searchtype like '%$searchterm%'";
[/Quote]在看一本 《php和mysql的web开发》据说很全,但没找到关于书写方法的内容,所以总是不得其法!望推荐文章、书籍、学习网站等等
xuzuning 2011-07-18
  • 打赏
  • 举报
回复
$query = "select * from books where ".$searchtype."like '%'".$searchterm."%";
                         ↑这里少了个空格

php提供了很好的书写方法,为什么不用呢?
$query = "select * from books where $searchtype like '%$searchterm%'";

kyzy_yy_pm 2011-07-18
  • 打赏
  • 举报
回复
1)、$sql = 'select * from table_name where name = "zhangsan"';

2)、$name = 'zhangsan';
$sql = 'select * from table_name where name = "' . $name . '"';


这个一般时间稍微一长就明白了,但说的话也不太好说,不过也不难,等你以后就知道了,或者看看楼下有没有解释的
lihengzhaozhao 2011-07-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kyzy_yy_pm 的回复:]

$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
[/Quote]问题解决了,貌似我还是不会用单双引号啊,你有关于这方面的好建议或好文章没?
kyzy_yy_pm 2011-07-18
  • 打赏
  • 举报
回复
$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
kyzy_yy_pm 2011-07-18
  • 打赏
  • 举报
回复
$query = "select * from books where ".$searchtype."like '%".$searchterm."%'";

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧