PHP 未捕获错误 - 防止 MySQL 注入(inject)

标签 php mysql session

我收到以下错误

fatal error :未捕获错误:在/opt/lampp/htdocs/magic/client/edit-client.php:102 中的 bool 值上调用成员函数 bind_param():102 堆栈跟踪:#0 {main} 抛出在/opt/lampp/htdocs/magic/client/edit-client.php 第 102 行

请参阅下面第 102 行及其周围的代码

 $stmt = $link->prepare("UPDATE users SET password = ?, notes = ?, url = ?, services = ?, status = ?, invoice = ?, pin = ?, agent_notes = ?, email = ?, phone = ?, WHERE id = ?");
  $stmt->bind_param("ssssssissii", trim($_POST['password']), trim($_POST['notes']), trim($_POST['url']), trim($_POST['services']), trim($_POST['status']), trim($_POST['invoice']), trim($_POST['pin']), trim($_POST['agent_notes']), trim($_POST['email']), trim($_POST['phone']), $_SESSION['client_id']);

我不会撒谎,整个 $stmt->bind_param("ssssssissii" 也让我感到困惑,我得到字符串和整数,但我不确定我是否正确假设这一点:

如果输入包含文本和数字,则应为s;如果数字,则应为i - 这不正确吗?

感谢您提前提供的帮助。

最佳答案

phone = ?, < 结尾的逗号不应该出现。

感谢@FunkFortyNine 的回答。

关于PHP 未捕获错误 - 防止 MySQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53796479/

相关文章:

php - PHP & Mysql 多复选框功能

php - 用php计算不同数据库的产品总价

java - 如何用java填写网页并拉回结果?

php - UTF-8贯穿始终

java - 跨多个线程/节点的 session 管理

php - 仅当用户在 Laravel 5.7 中处于事件状态时才登录用户

php - 使用php在mysql中搜索整个数据库

mysql - 如何计算行数并仍然显示所有行? mysql

session - 如果用户关闭浏览器,是否有任何技术可以终止用户登录 session ?

java - Hibernate Session如果长时间不使用会释放db连接吗