我正在尝试从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
}
这个查询有什么问题?
答案 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);
}