我有php:
$con=mysqli_connect("127.0.0.1","foo","bar","quaz");
if($con){
$sql = "INSERT INTO `virtual_users` (`domain_id`, `password` , `email`)
VALUES ('2', ENCRYPT('".$password."', CONCAT('\$6\$', SUBSTRING(SHA(RAND()), -16))), '".$user."@".$domain."');";
$query = mysqli_query($con, $sql);
if(!$query){
echo $sql;
}else{
echo "Success adding new email user!";
}
}
出于某种原因,当我运行此查询时,它始终返回$sql
。 这意味着连接正常,但查询不是。
当我在mysql数据库上直接运行$sql
的回显时,它运行得非常好!我不知道出了什么问题!有什么想法吗?
答案 0 :(得分:2)
那是因为您应该输出失败的原因,而不是导致失败的查询:
$result = mysqli_query($con, $sql) or die(mysqli_error($con));
^^^^^^^^^^^^^^^^^^^^^^^^^^^
查询成功的确有 ONE 方式,并且几乎有无数种方法可以使其失败。只是拥有“有效”的SQL意味着什么。