mysqli版本的mysql模式

tha*_*nce 5 php mysql mysqli

这是PHP中的MySQL模式:

$username="username";
$password="password";
$database="username-databaseName";

// Opens a connection to a mySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
  die("Not connected : " . mysql_error());
}

// Set the active mySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
  die ("Can\'t use db : " . mysql_error());
}

// Search the rows in the markers table
$query =  some query
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)

我尝试用mysqli模式替换大部分,然后将查询部分粘贴在底部,如下所示:

//Database Information
$db_host = "localhost"; //Host address (most likely localhost)
$db_name = "username-databaseName"; //Name of Database
$db_user = "username"; //Name of database user
$db_pass = "password"; //Password for database user

/* Create a new mysqli object with database connection parameters */
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
GLOBAL $mysqli;

if ($mysqli->connect_errno) {
        echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
        exit();
    }

// Search the rows in the markers table
$query =  some query
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误消息:

Invalid query: No database selected
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mur*_*nik 2

首先,你正在打电话mysql_query,而不是mysqli_query像你想要的那样。

其次,由于您使用的是面向对象的形式,因此您需要mysqli_query作为方法进行调用:

$result = $mysqli->query($query);
Run Code Online (Sandbox Code Playgroud)