Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 mysql_Php_Mysql - Fatal编程技术网

更新查询不';无法使用php mysql

更新查询不';无法使用php mysql,php,mysql,Php,Mysql,我在一个网站上工作,我希望用户能够更新客户的信息。我研究并尝试了很多次,使其工作,我写的代码就像在示例中一样,但更新查询在数据库上不起作用,没有出现错误。 所以,我希望找出数据库中不进行更新的原因 以下是更新时的输出: “已成功更新记录” 下面是update_prospect.php: <?php include 'connexion.php'; if(isset($_POST['telephone'])){$telephone= $_POST['telephone'];} else {

我在一个网站上工作,我希望用户能够更新客户的信息。我研究并尝试了很多次,使其工作,我写的代码就像在示例中一样,但更新查询在数据库上不起作用,没有出现错误。 所以,我希望找出数据库中不进行更新的原因

以下是更新时的输出:

“已成功更新记录”

下面是update_prospect.php:

<?php
include 'connexion.php';

if(isset($_POST['telephone'])){$telephone= $_POST['telephone'];} else {             $telephone='';}

if(isset($_POST['adresse'])){$adresse= $_POST['adresse'];} else { $adresse='';}
if(isset($_POST['ville'])){$ville= $_POST['ville'];} else { $ville='';}
if(isset($_POST['codepostal'])){$codepostal= $_POST['codepostal'];} else { $codepostal='';}
if(isset($_POST['mobile'])){$mobile= $_POST['mobile'];} else { $mobile='';}
if(isset($_POST['fax'])){$fax= $_POST['fax'];} else { $fax='';}
if(isset($_POST['email'])){$email= $_POST['email'];} else { $email='';}
if(isset($_POST['Typeprospect'])){$Typeprospect= $_POST['Typeprospect'];} else { $Typeprospect='';}
if(isset($_POST['observations'])){$observations= $_POST['observations'];} else { $observations='';}
if(isset($_POST['rcs'])){$rcs= $_POST['rcs'];} else { $rcs='';}
if(isset($_POST['numtva'])){$numtva= $_POST['numtva'];} else { $numtva='';}
if(isset($_POST['fonctionclient'])){$fonctionclient= $_POST['fonctionclient'];} else { $fonctionclient='';}
if(isset($_POST['raisonsociale'])){$raisonsociale= $_POST['raisonsociale'];} else { $raisonsociale='';}
if(isset($_POST['suffixedomaine'])){$suffixedomaine= $_POST['suffixedomaine'];} else { $suffixedomaine='';}


mysqli_begin_transaction($conn, MYSQLI_TRANS_START_READ_WRITE);

$sql ="UPDATE Client
SET
adresse='{$adresse}',
ville='{$ville}',
codepostal='{$codepostal}',
mobile='{$mobile}',
fax='{$fax}',
email='{$email}',
Typeprospect='{$Typeprospect}',
observations='{$observations}',
rcs='{$rcs}',
numtva='{$numtva}',
fonctionclient='{$fonctionclient}',
raisonsociale='{$raisonsociale}',
suffixedomaine='{$suffixedomaine}'
WHERE
telephone='{$telephone}'";

if (mysqli_query($conn,$sql) === TRUE)
{
echo "Record updated successfully";
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}

mysqli_commit($conn);
mysqli_close($conn);
?>

最好使用
mysqli\u infected\u rows()
来判断更新是否真正成功。查询成功并不意味着它匹配了数据库中的任何行。在将所有这些SQL可注入字符串混合到查询中之后,实际执行的查询是什么?当您在MySQL中手动运行该查询时,会发生什么
并在mysql中手动运行。表示了解的语句。即使是这样也不安全!使用echo$sql时;我发现一个空值$telephone,该值用于指定要更新的行。