Mysql в MySQL PHP - PullRequest
       6

Mysql в MySQL PHP

1 голос
/ 26 сентября 2011

Я пытаюсь преобразовать мой текущий код в расширение MySQLi ... Но у меня есть проблема с этим кодом ..

    $sql = "SELECT COUNT(*) FROM users WHERE username='$username'";
    $result = mysql_query($sql);
    if (mysql_result($result, 0) > 0) {
  $errors[] = 'The username is already taken.';
    }

Что такое функция mysqli для mysql_result?Я не могу заставить его работать.

Мой текущий код MySqLi - это просто соединение и

    $sql = "SELECT COUNT(*) FROM users WHERE username='$username'";
    $result = $mysqli->query($sql);
    if (mysql_result($result, 0) > 0) {
  $errors[] = 'The username is already taken.';
    }

Но мне нужно изменить mysql_result, но я не могу найти противоположную функцию в MySQLi..

Ответы [ 3 ]

3 голосов
/ 26 сентября 2011

Я обычно использую интерфейс object-y для MySQLi:

<?php
$db = new mysqli($hostname, $username, $password, $database);
$result = $db->query('SQL HERE');

// OOP style
$row = $result->fetch_assoc();
$row = $result->fetch_array();

while($row = $result->fetch_row())
{
    // do something with $row
}

// procedural style, if you prefer
$row = mysqli_fetch_assoc($result);
$row = mysqli_fetch_array($result);

while($row = mysqli_fetch_row($result))
{
    // do something with $row
}
?>

Полный список методов результатов приведен здесь: http://www.php.net/manual/en/class.mysqli-result.php

1 голос
/ 26 сентября 2011

Исходя из этой темы, такого эквивалента нет:

MySQLi эквивалент mysql_result ()?

Однако они дают несколько возможных альтернатив.

0 голосов
/ 26 сентября 2011

Нет эквивалента mysql_result, но вы можете выбрать одну строку и использовать первый элемент этой строки (поскольку ваш запрос возвращает таблицу из одной строки и одного столбца):

$sql = "SELECT COUNT(*) FROM users WHERE username='$username'";
$result = $mysqli->query($sql);
$arr = $result->fetch_row();
if ($arr[0] > 0) {
    $errors[] = 'The username is already taken.';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...