gpt4 book ai didi

php - 如何将在php中创建的变量传递给mysql数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 22:35:22 25 4
gpt4 key购买 nike

我正在开发一个应用程序。我发布了一些应用程序,但我对 PHP 的经验有限。此应用程序使用 mysql 数据库和 php 脚本将数据从应用程序传递到数据库。我已经想出如何使用 POST 从应用程序的输入字段中获取数据到数据库,但出于某种原因我无法弄清楚如何将在 php 中创建的变量传递到数据库,即不使用 POST .

我遇到问题的变量是 user_id 变量。我将在 registration.php 脚本中创建它,该脚本还通过 POST 传递来自应用程序的输入。这是代码的相关部分。一切正常,除了 user_id 变量永远不会进入数据库(即该列始终显示“0”)。

编辑:在数据库中,user_id 列是 INT(11) 类型。

//I have a whole script prepared for creating the unique user_id, but to keep it simple for 
// testing, I'm just using '0000000'.
// This part doesn't work.
$query = "INSERT INTO users (user_id) VALUES ('0000000')";
mysql_query($query);

// everything from here down works:
$query = "INSERT INTO users (username, password, email, firstname, lastname) VALUES ( :user, :pass, :email, :firstname, :lastname)";

$query_params = array(
':user' => $_POST['username'],
':pass' => $_POST['password'],
':email' => $_POST['email'],
':firstname' => $_POST['firstName'],
':lastname' => $_POST['lastName'],
);


try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {

$response["success"] = 0;
$response["message"] = "Failed to run query: " . $ex->getMessage();
die(json_encode($response));
}

最佳答案

mysql_query 不是您在下面的工作代码中使用的 PDO 类的一部分。

也使用 PDO 类来执行该语句。

$query = "INSERT INTO users (user_id) VALUES (:uid)"; 

$query_params = array(
':uid' => '0000000'
);


try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {

$response["success"] = 0;
$response["message"] = "Failed to run query: " . $ex->getMessage();
die(json_encode($response));
}

也很好奇为什么你说你要插入 '000000' 而结果总是 0 - 这是有道理的。

关于php - 如何将在php中创建的变量传递给mysql数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38257590/

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