Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当完全更新数据库失败时给出报告_Php_Mysql_Sql - Fatal编程技术网

Php 当完全更新数据库失败时给出报告

Php 当完全更新数据库失败时给出报告,php,mysql,sql,Php,Mysql,Sql,我是PHP编程的新手。我有一个用2条件更新数据库值的代码。这是我的密码 <?php $objConnect = mysql_connect("localhost","root",""); $objDB = mysql_select_db(""); $id = $_REQUEST["id"]; $serial_number = $_REQUEST["serial_number"]; $email = $_REQUEST["email"]; $nama = $_REQUEST["nama"]

我是PHP编程的新手。我有一个用2条件更新数据库值的代码。这是我的密码

<?php
$objConnect = mysql_connect("localhost","root","");
$objDB = mysql_select_db("");

$id = $_REQUEST["id"];
$serial_number = $_REQUEST["serial_number"];
$email = $_REQUEST["email"];
$nama = $_REQUEST["nama"];
$password = $_REQUEST["password"];


/*** Check Email Exists ***/
$strSQL = "SELECT * FROM iot WHERE email = '".$email."' AND id != '".$id."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
    $arr['StatusID'] = "0"; 
    $arr['Error'] = "Email Exists!";    
    echo json_encode($arr);
    exit();
}

/*** Update ***/
$strSQL = " UPDATE iot SET
    email = '".$email."'
    ,nama = '".$nama."'
    ,password = '".$password."'
    WHERE id = '".$id."' AND serial_number = '".$serial_number."'
";

$objQuery = mysqli_query($objConnect,$strSQL);
if(!$objQuery)
{
    $arr['Report'] = "Cannot save data!";   
}
else
{
    $arr['Report'] = "Saved";   
}

mysql_close($objConnect);

echo json_encode($arr);
?>

我想要的是,如果两个条件之一不满足,那么它将显示一个报告“无法保存数据”。 对不起,我的英语不好。
干杯。

如果可以的话,你应该重构你的代码以使用
PDO
。你可以解释一下怎么做吗?使用
PDO::prepare
你应该以一种可以多次调用的方式编写SQL,将一组变量传递给
PDO:execute