【发布时间】:2015-10-12 14:40:02
【问题描述】:
这是一个简单的问题,但由于某种原因我没有看到它。 我正在将一段代码从 MySQL 更改为 MySQLi。问题是当 我用的是新的 MySQLi 代码,select 不起作用。
我正在展示三段代码。 1- 包含代码的 Index.php 文件 2. Connect.php 文件显示我如何连接到数据库 3. Redirect.php 类代码使用了一个失败的函数。
在底部的 Redirect.php 中,我包含了有效的旧代码 以及不起作用的新代码。我所看到的只是新的 代码正在使用 $con 与数据库通信,我尝试了 global $con 和 它也失败了。拜托我需要你的帮忙。你能告诉我我做错了什么吗? 谢谢。
<?php
/*******************************/
/* HERE IS THE INDEX.PHP FILE */
/*******************************/
session_start();
include("connection.php");
include("redirect.php");
$log=new redirect();
$log->check_logged();
$theme=$log->get_theme();
echo 'This is the Website Theme: ' . $theme . '<br>';
exit;
?>
<?php
/**************************************************/
/* HERE IS THE CONNECTION.PHP CODE BEING INCLUDED */
/**************************************************/
$con = mysqli_init( );
if (!$con)
{
die("ERROR: MySQLi Initialed failed");
}
if (!mysqli_real_connect($con, SERVERNAME,USERNAME,PASSWORD,DATABASENAME, NULL, NULL, MYSQL_CLIENT_INTERACTIVE))
{
die("MySQLi Real Connect Error: " . mysqli_connect_error());
}
?>
<?php
/**************************************************/
/* HERE IS THE REDIRECT.PHP CODE BEING INCLUDED */
/**************************************************/
class redirect
{
function __construct()
{ }
function check_logged()
{
if(isset($_SESSION['member_id']) && $_SESSION['member_id']!="")
{
if(isset($_GET['loginad']) && $_GET['loginad']==1)
header('location:'.SITEADDRESS_MEMBER.'memberoverview.php?loginad=1');
if(isset($_GET['surfad']) && $_GET['surfad']==1)
header('location:'.SITEADDRESS_MEMBER.'memberoverview.php?surfad=1');
else
header('location:'.SITEADDRESS_MEMBER.'memberoverview.php');
}
}
function get_theme()
{
/************************************************/
/* HERE IS THE OLD REDIRECT.PHP CODE THAT WORKS */
/************************************************/
$result = mysql_query("select * from theme where status='yes'");
if(mysql_num_rows($result)>0)
{
$data=mysql_fetch_array($result);
return $data['theme_name'];
}
/********************************************************************/
/* HERE IS THE NEW REDIRECT.PHP CODE BEING TESTED THAT DOESN'T WORK */
/********************************************************************/
$result = mysqli_query($con, "select * from theme where status='yes'")
if(mysqli_num_rows($result)>0)
{
$data=mysqli_fetch_array($result, MYSQLI_ASSOC);
return $data['theme_name'];
}
}
}
?>
【问题讨论】:
-
redirect::get_theme 应该如何访问 var
$con?不在他的范围内。