使用bind_result时,mysqli查询结果没有结果

时间:2014-04-13 18:23:05

标签: php mysqli

我有一个不显示结果的查询。我尝试了很多选项,但它还没有用。任何人都知道为什么会这样。代码如下。提前谢谢。

<?php
$Week_ID = $teams->WeekID->CurrentValue;
$GK_1  = $teams->Keeper1->CurrentValue;

//Database info
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'soccer';

$con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
// Check connection
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

if ($stmt = $con->prepare("SELECT 'PName'=? ,'Player_price'=?, 'Player_points'=?, 'Total_points'=? FROM Keepers_points WHERE 'WeekNo'=? && 'PlayerNO'=?")) {
    /* bind parameters for markers */
    $stmt->bind_param("ssssss", $PName, $Player_price, $Player_points, $Total_points, $Week_ID, $GK_1 );

    /* execute query */
    $stmt->execute();

/* bind result variables */
    $stmt->bind_result($PName, $Player_price, $Player_points, $Total_points,$Week_ID, $GK_1 );

    /* fetch value */
    $stmt->fetch();
    echo $Player_price;
    echo $Player_points;
    echo $Total_points;

    /* close statement */
    $stmt->close();
}
?>

3 个答案:

答案 0 :(得分:0)

要打印result,请循环查询结果。

$array = array();
while ($fetch = $stmt->fetch()) {
     $array[] = $fetch;
}
print_r($array);

此外,您的准备声明错误

if ($stmt = $con->prepare("SELECT PName,Player_price, Player_points, Total_points FROM Keepers_points WHERE 'WeekNo'=? && 'PlayerNO'=?")) 
{
    $stmt->bind_param("dd", $Week_ID, $GK_1 );

答案 1 :(得分:-1)

$stmt->bind_param("ssssss", $PName, $Player_price, $Player_points, $Total_points, $Week_ID, $GK_1 );

这条线似乎是罪魁祸首。 ssssss在哪里定义? 您绑定到未定义的参数。

答案 2 :(得分:-1)

这就是你需要做的事情

if ($stmt = $con->prepare("SELECT PName ,Player_price, Player_points, Total_points FROM Keepers_points WHERE 'WeekNo'=? AND 'PlayerNO'=?")) {
        /* bind parameters for markers */
        $stmt->bind_param("dd", $Week_ID, $GK_1 );
$stmt->execute();
$stmt->bind_result($PName, $Player_price, $Player_points, $Total_points);

.....
相关问题