Использование оператора объекта с mysql и php

#php #mysql

#php #mysql

Вопрос:

Эй, ребята, я новичок в разработке php, и я видел код, подобный

 $link = mysql_connect('localhost', 'root', 'root');
if ($link) {
    die('cannot connect:'.mysql_error());
}
mysql_select_db("chat", $link);

if ($SERVER['REQUEST_METHOD'] == 'POST') {
$message = $_POST['message'];
mysql_query("INSERT INTO posts (message) VALUES ('$message')");
}

$query = mysql_query('SELECT * FROM posts ORDER BY id DESC');
enter code here

while ($row = mysql_fetch_object($query)) {
$posts[] = array(
    'message' => $row -> message
    );
}
  

Я в замешательстве от того, что $row->message означает?? .. это то же самое, что $row['message'] ..

Надеюсь, вы, ребята, сможете помочь, спасибо

Комментарии:

1. Его сохранение message как свойства строки. То же самое, что сказать $this->message = "HELLO" и затем [object] $thing = new ObjectName(); return $thing->message;

2. @TJB4rn3s извините, я перередактировал свой qus .. он действует как ключ..

3. @TJB4rn3s на самом деле означает $row-> message выборку столбца или выборку переменной $message?

4. Вы извлекаете результаты как объект. Если вы используете mysqli_fetch_array($query), результаты будут получены в виде массива. Таким образом, вместо доступа к результатам типа $row[«arrayKey»] вы получаете доступ к значению «message» из базы данных как к свойству строки … таким образом, $row-> message (именно так вы получаете доступ к свойствам объектов в PHP)

5. @TJB4rn3s итак, $row[‘message’] совпадает с $row-> сообщение??

Ответ №1:

Вы можете получить результат mysql_query с информацией о массиве / объекте

Для массива вы можете использовать mysql_fetch_array(); http://www.php.net/manual/en/function.mysql-fetch-array.php

Для объектов вы можете использовать mysql_fetch_object(); http://www.php.net/manual/en/function.mysql-fetch-object.php

Кроме того, mysql теперь удален из PHP. Таким образом, вы можете использовать PDO / Mysqli

http://in1.php.net/manual/en/book.pdo.php