【问题标题】:PHP mysql after trying to use PDO my queries aren't running [closed]尝试使用 PDO 后 PHP mysql 我的查询没有运行 [关闭]
【发布时间】:2013-06-25 16:51:55
【问题描述】:

所以我尝试使用 PDO 来防止 sql 注入,但是在运行我的代码后,数据没有输入到数据库中。如果有人能找到错误,我将不胜感激。

header("location:employees.php");

$connect = mysql_connect("localhost","root","");
if(!$connect){
    die(mysql_error($connect));
}
mysql_select_db("employees",$connect) or die(mysql_error()); 
$dbConnection = new PDO('mysql:dbname=employees;host=localhost;', 'localhost', '');
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$name = $_POST['name'];
$position = $_POST['position'];
$wage = $_POST['wage'];
$preparedStatement = $db->prepare('INSERT INTO employees (name, position, wage) VALUES (:name, :position, :wage)');
$preparedStatement->execute(array(':name' => $name,':position' => $position,':wage' => $wage));
mysql_query($preparedStatement);

我没有收到任何错误或任何东西,但用户没有进入数据库。

【问题讨论】:

  • mysql_* 已弃用。你应该使用对应的mysqli_操作/
  • 您需要花一些时间查看 PDO 手册和this excellent PDO tutorial。现在您正试图混合使用mysql_*() API 和 PDO,但两者完全不兼容。您的 PDO 代码应包含对mysql_*() 函数的no 引用。
  • 请告诉我这不是实际代码。
  • 显然,您正在为您的用户使用localhost 而不是root。 @ObsessiveSSOℲ 和其他人,我认为他只是有一些事情可以证明他的数据库正在运行。第一次尝试通过常规mysql进行连接工作,所以他的数据库是up。
  • @Sebas mysqli 可以立即使用。首先从 mysql 开始只是加强了它的工作原理,不知何故。

标签: php mysql pdo


【解决方案1】:

您在这里混合概念:使用 PDO 或 mysql_ 函数:

header("location:employees.php");

$dbConnection = new PDO('mysql:dbname=employees;host=localhost;', 'localhost', '');
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$name = $_POST['name'];
$position = $_POST['position'];
$wage = $_POST['wage'];
$preparedStatement = $db->prepare('INSERT INTO employees (name, position, wage) VALUES (:name, :position, :wage)');
$preparedStatement->execute(array(
    ':name' => $name,
    ':position' => $position,
    ':wage' => $wage
));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    相关资源
    最近更新 更多