Fatal error: Uncaught Error: Call to undefined method PDOStatement::bind_result() in D:\PHPsever\phpstudy\phpstudy_pro\WWW\qimo_test\main\user\user_sign_check.php on line 22 ( ! ) Error: Call to undefined method PDOStatement::bind_result() in D:\PHPsever\phpstudy\phpstudy_pro\WWW\qimo_test\main\user\user_sign_check.php on line 22 为什么摆错
时间: 2023-06-30 12:20:40 浏览: 211
这个错误是因为 `PDOStatement` 类并没有 `bind_result` 方法。`bind_result` 方法是属于 mysqli_stmt 类的。如果你想要使用 `bind_result` 方法,你需要使用 mysqli 扩展而不是 PDO 扩展。
如果你已经确定要使用 PDO 扩展,那么你需要使用 `fetch` 方法来获取查询结果,并指定返回的结果格式。例如,可以使用 `PDO::FETCH_ASSOC` 参数将结果作为关联数组返回:
```
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->execute([':username' => $username, ':password' => $password]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if ($user) {
// 用户名和密码正确
} else {
// 用户名或密码不正确
}
```
在这个示例中,我们使用 `prepare` 方法来准备 SQL 查询语句,然后使用 `execute` 方法来执行查询,并传递一个参数数组。最后,我们使用 `fetch` 方法将结果集中的第一行作为关联数组返回,并赋值给 `$user` 变量。如果 `$user` 变量不为 false,则说明用户名和密码正确,否则说明用户名或密码错误。
相关问题
Fatal error: Uncaught Error: Call to undefined method PDOStatement::bind_param() in D:\PHPsever\phpstudy\phpstudy_pro\WWW\qimo_test\main\user\user_sign_check.php on line 20 ( ! ) Error: Call to undefined method PDOStatement::bind_param() in D:\PHPsever\phpstudy\phpstudy_pro\WWW\qimo_test\main\user\user_sign_check.php on line 20 Call Stack # Time Memory Function Location 1 0.0019 442456 {main}( ) ...\user_sign_check.php:0这个报错怎么解决
这个错误是因为 `PDOStatement` 类并没有 `bind_param` 方法。`bind_param` 方法是属于 mysqli_stmt 类的。如果你想要使用 `bind_param` 方法,你需要使用 mysqli 扩展而不是 PDO 扩展。如果你已经确定要使用 PDO 扩展,那么你需要使用 `bindValue` 方法来绑定参数,例如:
```
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->bindValue(':username', $username);
$stmt->bindValue(':password', $password);
$stmt->execute();
```
这里使用了命名占位符 `:username` 和 `:password` 来代替问号占位符。然后使用 `bindValue` 方法来绑定参数。
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\phpstudy_pro\WWW\VA\install\install.php:100 Stack trace: #0 {main} thrown in D:\phpstudy_pro\WWW\VA\install\install.php on line 100
这个错误是因为 PHP 不支持 MySQL,或者 PHP 没有安装 MySQL 扩展。您需要通过以下步骤解决此问题:
1. 检查您的 PHP 版本是否支持 MySQL。
2. 确认您已经安装了 MySQL 扩展。您可以在 php.ini 文件中找到 "extension=php_mysql.dll" 并确保其没有被注释掉。
3. 如果您没有安装 MySQL 扩展,请下载并安装它。
4. 重启 Apache 或 Nginx 服务器使更改生效。
如果您仍然遇到问题,请检查 PHP 错误日志以获取更多信息。
阅读全文