Php 变量数与第10行准备语句中的参数数不匹配

Php 变量数与第10行准备语句中的参数数不匹配,php,mysqli,Php,Mysqli,绑定变量的数量与第21行准备语句中的字段数量不匹配 您准备的查询没有任何占位符,您实际上使用了字符串替换,并且可以接受SQL注入 $search = '%' . $search . '%'; $query = "SELECT * FROM redo WHERE name LIKE ? OR gender LIKE ? OR age LIKE ? OR date LIKE ? OR contact LIKE ? OR code LIKE ?

绑定变量的数量与第21行准备语句中的字段数量不匹配


您准备的查询没有任何占位符,您实际上使用了字符串替换,并且可以接受SQL注入

   $search = '%' . $search . '%';
   $query = "SELECT * FROM redo WHERE name LIKE ? OR gender LIKE ? OR age LIKE ?
                  OR date LIKE ? OR contact LIKE ? OR code LIKE ?";

   $statement = $conn->prepare($query);
   $statement->bind_param('ssssss', $search, $search, $search, $search, $search, $search);
   
   $statement->execute();
您还需要将所有列绑定到->bind_result方法中的变量,因为您使用的是select*from redo


如果只需要名称列,更改为从重做中选择名称…

请正确格式化您的问题。您应该查看全文索引。mysqli_stmt::bind_result:bind变量的数量与第23行C:\xampp\htdocs\redo\fetch.php中准备好的语句中的字段数量不匹配。请帮助我处理此问题,另一行是$statement->bind_result$row['name';是否应添加其余字段?根据需要,如果只需要名称字段,请更改为从重做中选择名称…仅供参考:
   $search = '%' . $search . '%';
   $query = "SELECT * FROM redo WHERE name LIKE ? OR gender LIKE ? OR age LIKE ?
                  OR date LIKE ? OR contact LIKE ? OR code LIKE ?";

   $statement = $conn->prepare($query);
   $statement->bind_param('ssssss', $search, $search, $search, $search, $search, $search);
   
   $statement->execute();
$statement->bind_result($row['col_1'], $row['col_2'], ...);