PHP文件中的以下代码在查询mysql数据库时工作。然而,当php文件试图连接到mysqli数据库时,它找不到数据库。我怎样才能改变下面的代码,使其工作?
谢谢。
define('_JEXEC', 1);
define('JPATH_BASE', realpath(dirname(__FILE__)));
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
$db = JFactory::getDBO();
$sql = "SELECT filename FROM prefix_media_videos ORDER BY filename ASC";
$result = mysql_query($sql);
$var = array();
while ($row = mysql_fetch_array($result)) {
$var[] = $row['filename'];
}
首先在php中启用mysqli扩展。然后你可以像这样使用mysqli:
$db = new mysqli("host", "username", "password", "dbName");
if($db->connect_errno){
echo "Failed to connect to MySQL: " .
$db->connect_errno . "<br>";
}else{
$query = "SELECT filename FROM prefix_media_videos ORDER BY filename ASC";
$result = $db->query($query);
while ($row = $result->fetch_assoc()) {
$var[] = $row['filename'];
}
}
试试这个-
设置MySQLi扩展:
$host = "";
$user = "";
$pass = "";
$dbName = ""; // FILL THESE IN
$db = new mysqli($host, $user, $pass, $dbName);
if($db->connect_errno){
echo "Failed to connect to MySQL: " .
$db->connect_errno . "<br>";
} // CHECK TO MAKE SURE IT CONNECTS
然后运行你的查询-
$query = "SELECT filename FROM prefix_media_videos ORDER BY filename ASC";
$result = $db->query($query);
while ($row = $result->fetch_array(MYSQLI_NUM)) {
$var[] = $row->filename;
}
MySQLi是一个PHP扩展。不是数据库。