我知道这可能是一个菜鸟问题。 我仍然是php的新手,特别是在使用mysqli时。
是否可以在$ stmt-> prepare()的查询中使用*并使用bind_result()? 例如,我必须在1个表中选择50列,条件作为参数原因如果我输入所有50列需要时间。 所以在这种情况下我怎样才能得到结果?
$stmt->prepare("Select * from table where col1 = ? and col2=? and col3=? and col4=?")
$stmt->bind_param("ssss",$col1, $col2, $col3, $col4)
$stmt->execute()
感谢。感谢您的帮助。
答案 0 :(得分:3)
是的,当然
只需使用$res = $stmt->get_result()
,然后使用熟悉的$row = $res->fetch_assoc()
内容
但是,对于新手来说,确实建议你选择PDO而不是mysqli。
答案 1 :(得分:0)
mysqli只使用问号作为占位符字符,因此您可以像往常一样使用*。
答案 2 :(得分:-1)
为了节省时间,如果您使用的是PDO,您可以为参数命名,然后进行质量分配 E.g。
$sql = 'SELECT *
FROM table
WHERE col1=:myval OR col2=:myval OR col3=:myval';
$sth = $dbh->prepare($sql);
$sth->execute(array(':myval ' => 150));
$red = $sth->fetchAll();