2014-09-28 70 views
0

我有这个代码,从一个MySQL表获取所有记录,并执行开关stateform:的mysql_query返回0元

<?php 

$DB_host = 'localhost'; 
$DB_user = 'user'; 
$DB_password = 'pwf'; 
$DB_name = 'dbname'; 
$connessione = mysql_connect($DB_host, $DB_user, $DB_password); 
$db_obj = mysql_query("SELECT * FROM `dbname`.`table`")or die("Query not valid: " . mysql_error()); 
$i = 0; 
foreach ($db_obj as $dato) { 
    $i++; 
    switch ($dato->turno) { 
     case 0: 
      $desc = 'Mattina'; 
      $col = 'bg-color-redLight'; 
      break; 
     case 1: 
      $desc = 'Pomeriggio'; 
      $col = 'bg-color-greenLight'; 
      break; 
     case 2: 
      $desc = 'Notte'; 
      $col = 'bg-color-blueLight'; 
      break; 
     case 3: 
      $desc = 'Smonto Notte'; 
      $col = 'bg-color-yellow'; 
      break; 
     case 4: 
      $desc = 'Riposo'; 
      $col = 'bg-color-orange'; 
      break; 
    } 
} 
?> 

为什么结果是$ db_obj是empy?在表中有3条记录.. 你能帮我吗?

+0

唉... **的mysql _ *** – 2014-09-28 16:59:45

回答

0

您不会将结果存储在任何适合的地方。看看mysql_fetch_array

$db_obj = mysql_query("SELECT * FROM `dbname`.`table`")or die("Query not valid: " . mysql_error()); 
$i = 0; 
while($datato = mysql_fetch_array($db_obj, MYSQL_ASSOC)) { 
    $i++; 
    switch ($dato['turno']) { 
     //Cases 
    } 
} 

mysql_已被弃用,它的建议寻找到mysqlipdo

警告:这个扩展不赞成PHP 5.5.0,并且将被删除未来。应该使用MySQLiPDO_MySQL扩展名。另请参阅MySQL:选择API指南和相关FAQ以获取更多信息。替代该功能包括: mysqli_fetch_array() PDOStatement对象::获取()

+0

我已经在这条线的错误.. 的foreach($拿督= mysql_fetch_array( $ db_obj,MYSQL_ASSOC)){ – Joe 2014-09-28 17:13:12

+0

对不起,应该是'while'! – 2014-09-28 17:16:00

+0

好吧,它的作品!谢谢! – Joe 2014-09-29 12:38:11