【问题标题】:php mysql insert and updatephp mysql 插入和更新
【发布时间】: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 值一样

标签: php mysql forms insert


【解决方案1】:
    $qy = 'SELECT
             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

FROM tablename WHERE id='$id' LIMIT 1";
$query = mysqli_query($yourConnection, $qy) or die (mysqli_error());
While ($row = mysqli_fetch_array($query)) {

/* Create a variable to hold all the data */

$c_update = $row['c_update'];

/* Do same for the rest */
}
Mysqli_free_result($query);
?>

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2012-08-23
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多