【发布时间】:2015-01-26 20:21:43
【问题描述】:
嘿,我想我已经尽力了。不知何故,我的表格不起作用。 我通过 URL 获得了一个 ID - 我尝试使用它来更新 MySQL 表
我也用同样的表格输入新的记录,没有问题。但是要更新它根本不起作用。
if (true !=$fehler)
{
if ($clientid == 'new')
{
$qy = 'INSERT INTO tbl_clientdb (
clientid,
c_update,
c_Uupdate,
c_Gender,
c_IDNumber,
c_Name,
c_Firstname,
c_Middlename,
c_idCity,
c_idCountry,
c_idLanguage,
c_Phone,
c_Cellphone,
c_Email,
c_Note,
c_idCompany
)
VALUES (
NULL,
NOW(),
"'.$c_Uupdate.'",
"'.$c_Gender.'",
"'.$c_IDNumber.'",
"'.$c_Name.'",
"'.$c_Firstname.'",
"'.$c_Middlename.'",
"'.$c_idCity.'",
"'.$c_idCountry.'",
"'.$c_idLanguage.'",
"'.$c_Phone.'",
"'.$c_Cellphone.'",
"'.$c_Email.'",
"'.$c_Note.'",
"'.$c_idCompany.'"
)';
} else {
$qy = 'UPDATE
tbl_clientdb
SET
c_update = NOW(),
c_Uupdate = "'.$c_Uupdate.'",
c_Gender = "'.$c_Gender.'",
c_IDNumber = "'.$c_IDNumber.'",
c_Name = "'.$c_Name.'",
c_Firstname = "'.$c_Firstname.'",
c_Middlename = "'.$c_Middlename.'",
c_idCity = "'.$c_idCity.'",
c_idCountry = "'.$c_idCountry.'",
c_idLanguage = "'.$c_idLanguage.'",
c_Phone = "'.$c_Phone.'",
c_Cellphone = "'.$c_Cellphone.'",
c_Email = "'.$c_Email.'",
c_Note = "'.$c_Note.'",
c_idCompany = "'.$c_idCompany.'"
WHERE
clientid = '.$clientid.'
LIMIT 1';
}
if ($res = mysql_query($qy))
{
echo 'Your data has been saved successfully';
}
else
{
echo mysql_error();
$meld = 'Please try again';
}
}`
有人知道这可能是什么问题吗?
非常感谢任何输入。
【问题讨论】:
-
echo $query并将其粘贴到 phpmyadmin。它会给你你的错误。任何人都很难在这里提供帮助,因为没有关于变量相等的上下文。 -
'它不起作用' 不是一个充分的问题描述。
-
mysql_已弃用,因此您应该将 PDO 与准备好的语句一起使用。 -
mysql_query() 在更新查询中返回非 false 并不意味着更新成功。这只是意味着它跑了。您需要检查“受影响的行”以查看是否有任何实际更改。请记住:空结果集 NOT 是错误。这是一个成功的查询,碰巧没有返回/更改任何内容。
-
您自己制作了客户端数据库吗?如果是这样,您的 ID 字段应该自动增加,因此尝试向 ID 字段添加 NULL 值可能会出现问题。插入时尝试跳过客户端 ID 字段,就像您在 INSERT 语句中使用 UPDATE 跳过客户端 ID 字段及其 Null 值一样