【发布时间】:2011-10-22 08:20:48
【问题描述】:
我正在构建一个搜索查询,想知道下面的代码是否有效。基本上我会在第一条语句中设置@keywords 变量,然后在第二条语句中使用它。它似乎工作得很好,但我不确定这是否是一个好的程序。有任何想法吗? :)
关键是查询会更复杂,@keyword 会出现多次。
$list_images_kw = $mysqli_link->prepare("SET @keyword=?;");
$list_images_kw->bind_param('s', $search_string);
$list_images_kw->execute();
$list_images_kw->close();
$list_images = $mysqli_link->prepare(
"SELECT * FROM `images` WHERE UCASE(`images`.img_title) REGEXP @keyword" );
$list_images->execute();
$list_images->close();
【问题讨论】:
-
为什么不把所有的语句都封装到一个存储过程中?
-
是的...看起来这是完美的解决方案 :) 是时候将“Bang Your Head Here”标志重新挂在墙上并学习如何创建存储过程了。
标签: php mysql prepared-statement user-variables