<?php
$mysqli=mysqli_connect('localhost','root','123','test');
if(mysqli_connect_errno()){
printf("Connect failed:%s\n",mysqli_connect_error());
exit();
}
else
{
$sql="CREATE TABLE testTable(
id int not null primary key auto_increment,
testField varchar(20)
)";
$res=mysql_query($mysql,$sql); //$mysqli我写成了$mysql,所以并没有操作到指定数据库
var_dump($res);
echo "<br/>";
if($res===true){
echo "Table testTable successfully created.";
}
else{
printf("Could not create table:%s\n",mysqli_error($mysqli));
}
mysqli_close($mysqli);
}
?>
输出结果: (mysqli_error()没有返回错误信息)
传给mysqli_query()的第一个参数应该是$mysqli,而我写成了$mysql,其实$mysql并不存在。所以其实mysqli_query()并没有找
指定的数据库,所以也没有执行建表操作。故mysqli_error()没有返回值。
因为我的vim配置并没有很完备,此种错误应该可以通过IDE语法纠错自当发现。
所以对数据库的操作错误,且mysqli_error()没有返回值,有可能是给mysqli_query()传送的参数错误。
mysqli_error()返回的是上一次对数据库操作产生的错误,如果第一个参数写错了,没有操作到指定数据库,自然没有
报错信息。