2013-10-26 2 views
1

Ниже приведен код, который у меня есть, все это было написано в mysql. Я пытаюсь переключиться на PDO. Мой вопрос в том, что эквивалентно mysql_result в PDO?mysql_result в PDO

$query = "SELECT id, firstname, lastname FROM table"; 
if($mysql_query = mysql_query($query)){ 
    $id = mysql_result($mysql_query, 0, 'id'); 
    $firstname = mysql_result($mysql_query, 0, 'firstname'); 
    $lastname = mysql_result($mysql_query, 0, 'lastname'); 
} 

До сих пор я мог выполнить запрос $, выполнив следующие ниже.

$query = $PDO -> prepare("SELECT id, firstname, lastname FROM table"); 
$query -> execute(); 
+0

http://us2.php.net /manual/en/pdo.query.php –

ответ

1

Как уже говорилось выше, Ян является одним из способов, или если ваш не используя функцию подготовки, то вы могли бы просто сделать:

$sth = $PDO->query("SELECT id, firstname, lastname FROM table"); 

if ($sth->rowCount() > 1) { 
    // One way to get the results if you have more then one row 
    foreach ($sth as $row) { 
     echo "ID: ".$row['id']."\n"; 
     echo "First name: ".$row['firstname']."\n"; 
     echo "Last name: ".$row['lastname']."\n"; 
    } 
} elseif ($sth->rowCount() == 1) { 
    // Or this way if you just have one row 
    $result = $sth->fetch(PDO::FETCH_ASSOC); 

    echo "ID: ".$result['id']."\n"; 
    echo "First name: ".$result['firstname']."\n"; 
    echo "Last name: ".$result['lastname']."\n"; 
} 
+0

Спасибо, это работает! – user2921965

+0

Этот фрагмент не нужен раздутым. –

1

Попробуйте это ...

$query = $PDO->prepare("SELECT id, firstname, lastname FROM table"); 
$query->execute(); 
$res = $query->fetchAll(PDO::FETCH_ASSOC); 
var_dump($res); 

==== Обновление в ответ на комментарий ====

$query = $PDO->prepare("SELECT id, firstname, lastname FROM table"); 
$query->execute(); 
$people = $query->fetchAll(PDO::FETCH_CLASS, 'stdClass'); 
foreach($people as $person) { 
    echo 'ID: ' . $person->id . PHP_EOL . 
     'First Name: ' . $person->firstname . PHP_EOL . 
     'Last Name: ' . $person->lastname . PHP_EOL; 
} 
+0

Вот когда вы хотите получить данные, я пытаюсь получить конкретные данные, такие как имя первой строки, второе имя последней строки и т. д. – user2921965

Смежные вопросы