gpt4 book ai didi

php - 第二次更新 2 个表未使用 Ajax 更新

转载 作者:行者123 更新时间:2023-11-29 07:15:14 26 4
gpt4 key购买 nike

你好,我在这里面临一个非常奇怪的问题。我连接了 2 个表来获取数据。然后,在用户编辑数据后,我想单独更新表。其中一个表已更新,而另一个表未更新。

我的代码:

$contact = $_POST['contact'];
$address = $_POST['address'];
$company = $_POST['company'];
$activated = $_POST['activated'];
$client_id = $_POST['client_id'];
$level = $_POST['level'];
$apikey = $_POST['apikey'];
$phone = $_POST['phone'];


$update_rest_clients = $handler->prepare("UPDATE rest_api_clients
SET contact_person = ?, address = ?, company = ?,
activated = ?, phone_number = ? WHERE client_id = ? ");

$update_rest_clients->bindValue(1, $contact);
$update_rest_clients->bindValue(2, $address);
$update_rest_clients->bindValue(3, $company);

if ($activated == 'true') {
$update_rest_clients->bindValue(4, 'yes');
} else {
$update_rest_clients->bindValue(4, 'no');
}

$update_rest_clients->bindValue(5, $client_id);
$update_rest_clients->bindValue(6, $phone);

$update_rest_clients->execute();
$update_rest_clients->closeCursor();

$update_api_key = $handler->prepare("UPDATE rest_api_keys
SET api_key = ?, level = ? WHERE user_id = ? ");

$update_api_key->bindValue(1, $apikey);
$update_api_key->bindValue(2, $level);
$update_api_key->bindValue(3, $client_id);

$update_api_key->execute();
$update_api_key->closeCursor();

if ($update_api_key) {
echo "success api key";
}

if ($update_rest_clients) {
echo "Success rest client";
}

以及浏览器中的 Ajax 响应:

Array
(
[contact] => Name Surname
[address] => Awesome Str. 8
[company] => mycompany.com
[apikey] => 09f9bae2fe72975f7da25d284139dc1ee
[phone] => 00379305557229
[level] => 10
[activated] => true
[client_id] => 3
)
<br />
success api keySuccess rest client

我的 PDO $handler:

try{
$handler = new PDO("mysql:host=".$dbhost.";dbname=".$dbname."", $dbuser, $dbpass);
$handler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$handler->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8mb4");
$handler->exec("SET CHARACTER SET utf8mb4");
}catch(Exception $e){
echo $e->getMessage();
die();
}

这是第一个查询的错误信息,但我仍然不明白为什么表没有更新。

Array ( [0] => 00000 [1] => [2] => ) 

我该如何成功?

任何帮助将不胜感激。

最佳答案

在我看来,您的客户端和电话绑定(bind)值是错误的,因此您尝试使用电话号码更新 ID,这意味着如果以 0 开头,它将失败,因为它永远不会匹配,没有任何内容会匹配得到更新,但查询仍将执行。见下文:

$update_rest_clients = $handler->prepare("UPDATE rest_api_clients SET contact_person = ?, address = ?, company = ?, activated = ?, phone_number = ? WHERE client_id = ? ");

$update_rest_clients->bindValue(1, $contact);
$update_rest_clients->bindValue(2, $address);
$update_rest_clients->bindValue(3, $company);

if ($activated == 'true') {
$update_rest_clients->bindValue(4, 'yes');
} else {
$update_rest_clients->bindValue(4, 'no');
}

//I have swapped these around.
$update_rest_clients->bindValue(6, $client_id);
$update_rest_clients->bindValue(5, $phone);

关于php - 第二次更新 2 个表未使用 Ajax 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38206595/

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