在选择准备语句中的所有行时,是否真的需要打问号



如果我不想指定任何行,我想知道是否还需要问号。因为bind_param需要它。

$zr="0";
$stmt=$mysqli->prepare("select * from products_db where not prd_id=?");
$stmt->bind_param("i",$zr);//can I skip this line or what?

我到处找,但没有这样的东西。有一次我在没有?的情况下尝试,它毫无理由地出错了。我可能是打字错误,什么?

如果不需要绑定任何参数,可以使用mysqli::query()

$result = $mysqli->query('SELECT * FROM products_db');

这既准备又执行所提供的SQL,但没有提供安全绑定参数的方法。

这大致相当于…

$stmt = $mysqli->prepare('SELECT * FROM products_db');
$result = $stmt->execute();

您也可以使用。

注意,没有位置参数(即?(,因此不需要使用mysqli_stmt::bind_param()

最新更新