Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQLi多个条件,怎么了_Php_Mysql_Mysqli_Prepared Statement - Fatal编程技术网

Php MySQLi多个条件,怎么了

Php MySQLi多个条件,怎么了,php,mysql,mysqli,prepared-statement,Php,Mysql,Mysqli,Prepared Statement,我试图做以下准备好的陈述: $stmt = $mysqli->prepare("SELECT COUNT(*) FROM table WHERE from = '?' && to = '?' LIMIT 1"); $stmt->bind_param('ii', $fromId, $toId); $stmt->execute(); $stmt->bind_result($db_offeredAlready); $stm

我试图做以下准备好的陈述:

    $stmt = $mysqli->prepare("SELECT COUNT(*) FROM table WHERE from = '?' && to = '?' LIMIT 1");
    $stmt->bind_param('ii', $fromId, $toId);
    $stmt->execute();
    $stmt->bind_result($db_offeredAlready);
    $stmt->fetch();
    $stmt->close();
我得到以下错误:

 Fatal error: Call to a member function bind_param() on a non-object in /path/to/script.php on line 97
加上'and'会让我

    $stmt = $mysqli->prepare("SELECT COUNT(*) FROM `table` WHERE `from` = '?' && `to` = '?' LIMIT 1");
以及以下

 Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in /path/to/script.php on line 97
显然绑定变量的数量与?标志。我尝试过添加和删除“and”的所有组合,但都没有效果。这份事先准备好的声明有什么不对?我可以用一个条件进行选择,但它会有多个占位符?不需要引用

$stmt = $mysqli->prepare("SELECT COUNT(*) FROM `table` WHERE `from` = ? && `to` = ? LIMIT 1");
占位符?不需要引用

$stmt = $mysqli->prepare("SELECT COUNT(*) FROM `table` WHERE `from` = ? && `to` = ? LIMIT 1");

对于第一个示例,不能有一个名为from的列,因为mysql将其解释为语句的一部分。使用背面的记号可以做到这一点。现在它只是解决了为什么绑定部分不工作的问题。对于第一个示例,您不能有一个名为from的列,因为mysql将其解释为语句的一部分。使用背面的记号可以做到这一点。现在,它正在解决绑定部分不工作的原因。