我无法使它正常工作。我现在花了很多时间在上面。
这有效:
$mysqli = new mysqli("localhost", "root", "root", "db");
if(!$mysqli || $mysqli->connect_errno)
{
return;
}
$query_str= "SELECT name FROM table WHERE city IN ('Nashville','Knoxville')";
$query_prepared = $mysqli->stmt_init();
if($query_prepared && $query_prepared->prepare($query_str))
{
$query_prepared->execute();
但这我不能让它与这样的bind_param一起工作:
$query_str= "SELECT name FROM table WHERE city IN (?)";
$query_prepared = $mysqli->stmt_init();
if($query_prepared && $query_prepared->prepare($query_str))
{
$cities= explode(",", $_GET['cities']);
$str_get_cities= "'".implode("','", $get_cities)."'"; // This equals 'Nashville','Knoxville'
$query_prepared->bind_param("s", $cities);
$query_prepared->execute();
我究竟做错了什么?
我也尝试过call_user_func_array,但似乎无法正确获取语法。
编辑:
我已经严格尝试过moskito-x的建议和此处列出的大量示例,以及在SO和随机网站上的其他示例,没有任何效果。我认为问题可能出在PHP 5.4上,这就是我的MAMP现在设置的
大话西游666
肥皂起泡泡
噜噜哒