如何从数据库中获取所有数据?

时间:2015-02-12 00:01:08

标签: php mysql

我正在尝试从mysql数据库中获取所有数据,但我想知道为什么它不起作用我错过了什么? 这是代码:

 $tid=$_SESSION['id'];
 $a=mysql_query("select * from tbl_curriculum_sched where TEACHER_ID='$tid'");          

 while($ad=mysql_fetch_array($a)){
     $sql= mysql_query("SELECT * from enrolled where CURRICULUM_SCHED_ID='$ad[0]'");
     //the value of  $ad[0] returns nothing
     //i did something here
     //but it is not working
 }

这个查询有什么问题?

3 个答案:

答案 0 :(得分:0)

不要使用MYSQL,而是使用MySQLi,因为MySQL DEPRECATED

可是:

$tid=$_SESSION['id'];
 $a=mysql_query("select * from tbl_curriculum_sched where TEACHER_ID='$tid'") or die("$ a error : ".mysql_error());          

 while($ad=mysql_fetch_array($a)){
$sql= mysql_query("SELECT * from enrolled where CURRICULUM_SCHED_ID='$ad[0]'") or die("inner while: ".mysqli_error());
...

对于那些评论和抱怨OP应该使用$ a而不是$ad的人 - 不,情况并非如此 - 因为while语句会将内容输出到{{ 1}}变量作为命名和数字键。

另外:需要声明数据库连接。

另外:$ad需要声明。

如果session_start()具体没有值并且没有抛出$ad[0]那么请考虑使用mysql_error()作为PHP中的设置ini意味着可能从数据中键入数据不保留MySQL表,数据可能只按名称存储,这是全面使用数据的更好方法。

尝试并避免使用mysql_fetch_row

答案 1 :(得分:0)

有时这对我有帮助,因为我在sql中遇到带有索引的var的奇怪问题:

$var_temp = $ad[0];

在sql Query中放置:

'$var_temp'

答案 2 :(得分:0)

尝试var dump也许你可以看到要调试的东西

while($ad=mysql_fetch_array($a)){
 $sql= mysql_query("SELECT * from enrolled where CURRICULUM_SCHED_ID='$ad[0]'");
   var_dump($sql);
}