如果你可能因mysql版本,遇到类似问题,请看下文
以下是用php连接本地服务器+数据库,并试图查表
$link = mysqli_connect('localhost', 'root', 'xxxx')or
die("Could not connect: " . mysqli_error()); //连接本地mysql
$conn = mysqli_select_db( $link,数据库名) or
die("no database ");
echo $conn; //打印结果为1
mysqli_query($conn,"SET NAMES 'UTF8'" ) ; //报标题错误
$sql = "SELECT * FROM orderdata";
$result = mysqli_query($conn, $sql); //报标题错误
if (!$result) {
printf("Error: %s\n", mysqli_error($conn)); //报类似标题错误
exit();
}
现在的问题,某些参数不是他应该的数据类型,也就是说,有些操作并没有成功,返回值不对!经查:
- $conn 值为1
- $result 无值
- mysqli_error($conn)打印不出东西
php改版后真的有点懵……
- mysqli_connect(host,username,password,dbname,port,socket); 参数均为可选
- mysqli_select_db(connection,dbname); 参数应该是 库名 在后。此函数用于修改连接的默认数据库(划重点)
- mysqli_query(connection,query,resultmode); 失败时返回
FALSE
,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result对象,其他查询则返回TRUE
改成以下:
//连接MYSQL数据库
$conn = mysqli_connect(localhost, root, 密码xxxx,数据库名xxxx)or trigger_error(mysqli_error(),E_USER_ERROR);
mysqli_query($conn,"SET NAMES 'UTF8'" ) ;
$sql = "SELECT * FROM orderdata";
$result = mysqli_query($conn, $sql);
if (!$result) {
printf("Error: %s\n", mysqli_error($conn));
exit();
}
也就是说 我把 $link = mysqli_connect('localhost', 'root', 'xxxx') 和 $conn = mysqli_select_db( $link,数据库名)
改成 $conn = mysqli_connect(localhost, root, 密码xxxx,数据库名xxxx)
就行了
仍是初学者,如果不对,烦请指正
代码千万条,基础第一条,学习不努力,码农两行泪