Параметры связывания PHP $ mysqli-> prepare () оператор не работает - PullRequest
1 голос
/ 07 января 2012

Привет, я не слишком уверен, что не так с тем, что я написал.У друга есть симметричный код, но мой не будет работать.Был бы признателен за помощь.

if (isset($_GET['postID']))
{
    $postID = $_GET['postID'];
    $stmt = $mysqli->prepare("SELECT postTitle FROM Posts WHERE postID = ?");
    $stmt->bind_param('i', $postID);
    $stmt->execute();
    $stmt->bind_result($postTitle);
    echo $postTitle;
}

Спасибо

1 Ответ

2 голосов
/ 07 января 2012

Вы не получили результаты с $stmt->fetch(). Несмотря на то, что вы связали свой столбец результатов с $postTitle, никакое значение не будет доступно, пока вы не выберете строку из набора результатов оператора.

// First, don't forget to establish your connection
$mysqli = new MySQLi($host, $user, $pass, $dbname);

if (isset($_GET['postID']))
{
    $postID = $_GET['postID'];
    $stmt = $mysqli->prepare("SELECT postTitle FROM Posts WHERE postID = ?");
    $stmt->bind_param('i', $postID);
    $stmt->execute();
    $stmt->bind_result($postTitle);

    // Use a while loop if multiple rows are expected,
    // Otherwise, a single call to $stmt->fetch() will do.
    while ($stmt->fetch()) {
     echo $postTitle;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...