【问题标题】:Why won't my mysqli insert/update work为什么我的 mysqli 插入/更新不起作用
【发布时间】:2013-12-28 13:18:51
【问题描述】:

我的编码有什么问题,因为它不起作用?

$empsql("SELECT * FROM employees WHERE e_id ='$ed_id' ");

if($rows > 0)  {
    $empsql('UPDATE employees SET name = "'.$name.'" , description = "'.$description.'" , telephone = "'.$telephone.'" , email = "'.$email.'" WHERE e_id = "'.$ed_id.'" ');
}
else
{
    $empsql("INSERT INTO employees (name,description,telephone,email) VALUES ('$name','$description','$telephone','$email') ");
}

【问题讨论】:

  • 什么是$empsql()?它具有变量的名称,但您将其用作函数。你没有看到语法错误吗?查看您的服务器错误日志
  • 我没有收到任何错误,孤独的空白/空页面..我对 php 不太擅长,那我该如何做对呢?
  • 不要忘记粘贴错误消息或您在问题中遇到的意外行为,因为我们发现“它不起作用”没有帮助。

标签: php mysqli insert-update


【解决方案1】:

你真的应该坚持基础,因为你的语法没有意义。这段代码更有意义。

$empsql = "SELECT * FROM employees WHERE e_id ='$ed_id'";
$rows = mysql_fetch_array(mysql_query($empsql));

if(!empty($rows))  {
    mysql_query('UPDATE employees SET name = "'.$name.'" , description = "'.$description.'" , telephone = "'.$telephone.'" , email = "'.$email.'" WHERE e_id = "'.$ed_id.'" ');
}
else
{
    mysql_query("REPLACE INTO employees (name,description,telephone,email) VALUES ('$name','$description','$telephone','$email') ");
}

【讨论】:

  • 用 REPLACE INTO 组合这两个查询怎么样?
  • 与 INSERT 的语法相同,但将 INSERT 替换为 REPLACE。也就是说,您的数据(VALUES)必须包含 KEY 值,以便 SQL 可以确定这是重复记录(执行 UPDATE)还是不存在(执行 INSERT)。您是否有 KEY,例如 e_id?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
  • 2017-10-20
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多