【发布时间】:2019-03-06 15:02:15
【问题描述】:
近 2 天我的计算机不想在我的数据库中插入数据,尝试在代码中进行大量更改但仍然无法正常工作。 (并删除了 ` - 没有任何改变)。你能建议是什么原因吗?
<?php
include '../db.php';
try {
$stmt = $dbh->prepare(" INSERT INTO `users` (`login`,`password`) VALUES (:login, :password) ");
$stmt->bindParam(':login', $login );
$stmt->bindParam(':password', $password );
$_POST['login'] = $login;
$_POST['password'] = $password;
$stmt->execute();
}
catch (exeption $e) { // Если ошибка - показать сообщение об ошибке
echo $e->getMessage();
}
echo "\nPDO::errorCode(): ", $dbh->errorCode();
echo " ";
$rows = $stmt->fetchAll();
$num_rows = count($rows);
echo $num_rows;
/*header("location:../auth.php");*/
?>
返回 PDO::errorCode(): 00000 (没问题),但它返回 0 行!可能是这个原因
还有我的 db.php 文件:
<?php
try { //Connecting to db via login and password
$user = 'mydatabases';
$pass = '1234';
$dbh = new PDO('mysql:host=localhost;dbname=dbname', $user, $pass);
}
catch (exeption $e) { //if any mistakes show message of error
echo $e->getMessage();
}
?>
【问题讨论】:
-
您是否遇到错误?
-
你在
echo $e->getMessage();得到什么??? -
从哪里定义
$login和$password -
我认为您需要在绑定它们之前定义这些变量
$_POST['login'] = $login; $_POST['password'] = $password;并更改位置。职位或分配不正确。 -
你的作业倒退了。
$_POST['login'] = $login;应该是$login = $_POST['login'];。左边是新变量,右边是原始值。