gpt4 book ai didi

php - 为什么没有任何东西被插入到我的 MySQL 表中?

转载 作者:行者123 更新时间:2023-11-29 04:09:36 25 4
gpt4 key购买 nike

我尝试使用一些 PDO 将数据插入 MySQL 表。

private function addResource() {
include('./dbconnect.php');
$pdo = new PDO("mysql:host=$db_host;dbname=$db_name;", $db_user, $db_password);
$stmt = $pdo->prepare('INSERT INTO Resources VALUES (?, $title, $url, $_SESSION[\'tblUserID\'');
$stmt->bindParam(1, $title);
$stmt->bindParam(2, $url);
$stmt->bindParam(3, $_SESSION['tblUserID']);
$stmt->execute();
if ($stmt->rowCount() != 1)
throw new Exception('Could not add resource');
$status = true;
}

问题是,每当我检查表格时,都没有插入任何内容。怎么会?

编辑:我在页面顶部有 session_start()。

最佳答案

因为你使用的 PDO 完全错误。占位符不使用 PHP 变量语法。查询字符串应该是:

$stmt = $pdo->prepare('INSERT INTO .... VALUES (:id, :title, :url, :userid')
^^^^^^
$stmt->bindParam(':title', $title);
^^^^^^

请注意占位符使用 :whatever 格式。

如现在所写,您的查询是一个明显的语法错误,容易受到 SQL injection attacks 的攻击。

关于php - 为什么没有任何东西被插入到我的 MySQL 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com