连接到Microsoft Azure中的mysql数据库时,我遇到了一个奇怪的问题。当我使用此命令连接到数据库时,查询成功运行。
$con = mysql_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password) or die("Could not connect database");
mysql_select_db($mysql_db_database, $con) or die("Could not select database");
但是当我使用这个命令时,它将不起作用:
$con = new mysqli($mysql_db_hostname, $mysql_db_user, $mysql_db_password, $mysql_db_database);
if ($con->connect_error)
{
die("Database selection failed: " . $con->connect_error);
}
我没有收到消息“数据库选择失败:”。 $ CON组> connect_error。知道为什么第一个代码工作而不是另一个代码?
我正在使用这个php代码的连接:
<?php require_once ("/connect.php");
if(isset($_POST['username']) && !empty($_POST['username'])){
$username=mysql_real_escape_string($_POST['username']);
}else{
$message[]='Please enter username';
}
if(isset($_POST['password']) && !empty($_POST['password'])){
$password=mysql_real_escape_string($_POST['password']);
}else{
$message[]='Please enter password';
}
$countError=count($message);
if($countError > 0){
for($i=0;$i<$countError;$i++){
echo ucwords($message[$i]).'<br/><br/>';
}
}else{
$query="select * from users where username='$username' and password='$password'";
$res=mysql_query($query);
$checkUser=mysql_num_rows($res);
if($checkUser > 0){
echo 'correct';
}else{
echo ucwords('please enter correct user details');
}
}
答案 0 :(得分:0)
你不能混合&amp; mysql_ *函数和mysqli_ *函数之间的匹配。要么使用ALL mysql_ *(不建议使用),要么使用所有mysqli_ *函数。 显然,你改变了连接,但是还没有改变,例如mysqli_query到mysqli_query等等。
请注意,2个API之间不一定存在一对一的对应关系。换句话说,你不能只添加一个&#34; i&#34;并希望它始终有效 - 您需要考虑一些概念和语法等变化。
无论如何,请查看&#34; mysql _&#34;在你的PHP代码中并将其转换为使用&#34; mysqli _ *&#34;功能,这应该可以解决你的问题。