2013-08-01 180 views
0

即时尝试从我的数据库中获取数据,但我得到的是空值。mysqli返回空值

我知道心不是查询空的,因为我从里面我if($stmt->num_rows > 0)

代码获取值。

当我在我的phpmyadmin上运行我的查询时,我也得到了很好的结果。

这是我的代码感谢帮助:

$sql = "SELECT register_date FROM personal WHERE user_id = ?"; 

    $stmt = $mysqli->prepare($sql) or trigger_error($mysqli->error."[$sql]"); 

    $stmt->bind_param('s', $user_id); 

    $user_id = $_GET['user_id']; 

    $stmt->execute(); 

    $stmt->store_result(); 

    $stmt->bind_result($register_date); 

    if($stmt->num_rows > 0) 
    { 

     $response["date"] = $register_date; 
     $response["success"] = 1; 
      // echoing JSON response 
      echo json_encode($response); 

    } 

    else 
    { 
      $response["success"] = 0; 
      echo json_encode($response); 
    } 
+0

* *仍然不能让你的代码工作?.. –

+0

不熟悉的MySQLi但并不需要前设置$ USER_ID bind_param? – Fredd

+0

除了读取之外,还需要关闭语句。 –

回答

2

尝试

$stmt->bind_result($register_date); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->fetch(); 
echo $register_date; 

请仔细阅读bind_result DOC

+0

我忘记了'$ stmt-> fetch();'。感谢您的帮助 – dasdasd

-1

你的代码中使用它们之前是有点混了,你需要定义的变量(在这种情况下$ USER_ID)。

我建议移动到PDO而不是使用MySQLi。