我有点像菜鸟,但我找不到这个问题的答案。我有两段代码,两者都有效,但我不确定原因。
// 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
提前感谢您提供的任何照明。
答案 0 :(得分:1)
$result = mysqli_query($dbc,$query); // MySQLi (link, query)
$result = mysql_query($sql, $dbc); // MySQL (query, link)
答案 1 :(得分:1)
您在第一个示例中使用mysqli_query
,在第二个示例中使用mysql_query
。
两个不同的函数,有两个不同的参数顺序,这就是为什么我“喜欢”PHP。
答案 2 :(得分:1)
你的第一个例子
$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
两个调用都匹配这些函数的签名和参数顺序。
答案 3 :(得分:0)
因为mysql_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()
。
答案 4 :(得分:-1)
函数mysql_select_db
允许您使用与mysql_connect
开始的相同连接,在代码中选择另一个数据库而无需“其他”新连接。