PHP mysql_query参数顺序


PHP mysql_query parameter order

我是一个新手,但是我很难找到这个问题的答案。我有两段代码,都工作,但我不知道为什么。

// Connect to the database 
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
// Retrieve the score data from MySQL
$query = "SELECT * FROM table";
$result = mysqli_query($dbc,$query);            
mysqli_close($dbc); // close db

在上面的实例中,连接是第一个mysql_query参数,然后是sql查询。据我所知,这来自一本书,并不是PHP手册中定义的。

在下一个示例中,首先输入sql,然后输入连接,我必须特别使用mysql_select_db。为什么它们都有效?

//db connection
$dbc = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$db_selected = mysql_select_db("database",$dbc); // select the db
$sql = "SELECT * from table"; // sql query 
$result = mysql_query($sql, $dbc); // make query on db
mysql_close($dbc);  //close the connection after data is acquired

事先感谢贵方提供的照明

你的第一个例子

$result = mysqli_query($dbc,$query);            

是对更新的mysqli库http://www.php.net/manual/en/mysqli.query.php的函数调用

第二个例子

$result = mysql_query($sql, $dbc); // make query on db

是对mysql库的函数调用,http://www.php.net/manual/en/function.mysql-query.php
这两个调用都匹配函数的签名和参数顺序。

$result = mysqli_query($dbc,$query); // MySQLi (link, query)
$result = mysql_query($sql, $dbc); // MySQL (query, link)

在第一个示例中使用mysqli_query,在第二个示例中使用mysql_query

两个不同的函数,两个不同的参数顺序,这就是为什么我"爱"PHP

因为mysql_query()期望query作为第一个参数而mysqli_query()期望你的查询作为第二个参数

mysqli_query

mysqli_query ( mysqli $link , string $query [, int $resultmode ] )

mysql_query

mysql_query ( string $query [, resource $link_identifier ] )

需要mysql_select_db(),因为mysql_connect() 没有数据库作为参数,而不是mysqli_connect()

函数mysql_select_db允许您沿着代码选择另一个db,而不需要'另一个'新连接,使用与mysql_connect开始的相同的连接。