<?php
session_start();
//echo "Hello".$_SESSION['uname'];
$unme=$_SESSION['uname'];
include("connection.php");
$query_qt=mysql_query("SELECT * FROM regst WHERE unme='$unme'");
$info = mysql_fetch_array($query_qt);
if($info)
{
$qt=$info['point'];
}
echo "Question ".$qt;
if($qt=='0')
header("location:question1.php");
else if($qt=='1')
header("location:question2.php");
else if($qt=='2')
header("location:question3.php");
?>
这个代码实际上不工作…有人能帮帮我吗?我想我没有得到$qt变量的任何值。
通过检查PHP手册站点,您可以看到您使用mysql_fetch_array()
的方式正在生成一个不与任何键相关联的数组:
"返回与获取的行对应的字符串数组,如果没有更多的行则返回FALSE。返回数组的类型取决于如何定义result_type。通过使用MYSQL_BOTH (default)
,您将得到一个具有关联索引和数字索引的数组。使用MYSQL_ASSOC
,您只能获得关联索引(如mysql_fetch_assoc()
工作),使用MYSQL_NUM
,您只能获得数字索引(如mysql_fetch_row()
工作)。"
你可以使用mysql_fetch_assoc()
代替,或者定义mysql_fetch_array()
的第二个参数来满足你的需求(MYSQL_BOTH/MYSQL_ASSOC)。
mysql_fetch_array手册
试试这个
<?php
session_start();
//echo "Hello".$_SESSION['uname'];
$unme=$_SESSION['uname'];
include("connection.php");
$query_qt=mysql_query("SELECT * FROM regst WHERE unme='$unme'");
$info = mysql_fetch_object($query_qt);
if($info)
{
$qt=$info['point'];
}
echo "Question ".$qt;
if($qt=='0')
header("location:question1.php");
else if($qt=='1')
header("location:question2.php");
else if($qt=='2')
header("location:question3.php");
?>
使用
while($info)
{
$qt=$info['point'];
}
而不是:
if($info)
{
$qt=$info['point'];
}
//使用mysql_real_escape_stringsession_start ();美元unme = $ _SESSION (uname");包括("connection.php");$query_qt=mysql_query("SELECT point FROM regst WHERE unme='$unme'");$info = mysql_fetch_row($query_qt);如果($ info) {qt = info美元[0];}$qt;如果(空(qt美元))标题("位置:question1.php");else if ($ qt = = ' 1 ')标题("位置:question2.php");else if ($ qt = = ' 2 ')标题("位置:question3.php");
try this
<?php
session_start();
//echo "Hello".$_SESSION['uname'];
$unme=$_SESSION['uname']; // or $unme=$_post['uname'];
include("connection.php");
$query_qt=mysql_query("SELECT * FROM regst WHERE unme='$unme'");
$info = mysql_fetch_object($query_qt);
if($res= while($info)) // you must be use loop
{
$qq = res['point'];
}
echo "Question ".$qq;
if($qt=='0')
header("location:question1.php");
else if($qt=='1')
header("location:question2.php");
else if($qt=='2')
header("location:question3.php");
?>
您的代码似乎很好。问题可能是,当regst
表的unme
列中没有存储值$_SESSION['uname']
的对应条目时,您的查询没有返回任何内容。请确认regst
表中是否有这样一个表项,即unme
列中的值与$_SESSION['uname']
中存储的值相同,point
列中对应的值?