将数据插入 MySql 数据库,并在插入成功或失败时显示

2022-08-30 22:44:07

我正在将数据插入MySQL数据库,如果插入失败,我需要给出适当的错误消息来指示这一点。根据我下面的代码,如果插入成功或失败,我将成为消息。Echo-ingInserted

我想做的是仅在数据插入成功时才回显消息,并在失败时返回。如何修改我的代码来做到这一点?Insertedfail

<?php

mysql_connect("localhost", "root", "123") or die(mysql_error());
mysql_select_db("swm_database") or die(mysql_error());

mysql_query("INSERT INTO PEOPLE (NAME ) VALUES ('COLE')")or die(mysql_error()); 

echo "Inserted";
?>

答案 1
$result = mysql_query("INSERT INTO PEOPLE (NAME ) VALUES ('COLE')"));
if($result)
{
echo "Success";

}
else
{
echo "Error";

}

答案 2

根据PHP和MySQL for Dynamic Web Sites(第4版)一书

例:

$r = mysqli_query($dbc, $q);

对于插入更新删除等简单查询(不返回记录),变量(结果的缩写)将为 TRUEFALSE,具体取决于查询是否成功执行。$r

请记住,“成功执行”意味着它运行没有错误;这并不意味着查询的执行必然具有所需的结果;你需要对此进行测试。

那么如何测试呢?

虽然该函数将返回 SELECT 查询生成的行数,但返回受 INSERTUPDATEDELETE 查询影响的行数。它是这样使用的:mysqli_num_rows()mysqli_affected_rows()

$num = mysqli_affected_rows($dbc);

与 不同,函数采用的一个参数是数据库连接($dbc),而不是上一个查询的结果($r)。mysqli_num_rows()


推荐