0

php/mysqlに関しては、私は少し古い学校のようで、正直に言うと、それに慣れたばかりですが、今ではmysqlではなくmysqliを使用するように言われ続けているので、いくつかの投稿/記事を読んでいますそれについてのphp.netなどを含みますが、どれも私には意味をなさないので、私のスニペットと同等のものを誰かが私に与えてくれれば、それをもう少しよく理解し始めるかもしれないと思いました...

これは単純な mysql while ループです。

$query  = "SELECT * FROM foo ORDER BY id DESC LIMIT 10, 10";
$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {

$dog = $row['dog'];

  echo $dog;

}
4

3 に答える 3

1

mysqli手続き型スタイルでの同等の使用は次のようになります。

$link = mysqli_connect("localhost", "user", "pass", "db");
$query = "SELECT * FROM foo ORDER BY id DESC LIMIT 10, 10";
$result = mysqli_query($link, $query) or die(mysqli_error($link));

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    $dog = $row['dog'];
    echo $dog;
}

mysqli_free_result($result);
mysqli_close($link);
于 2012-09-05T01:11:43.620 に答える
1

これを試して:

$query = "SELECT * FROM foo ORDER BY ID DESC LIMIT 10, 10";
$result = mysqli_query($query) または die (mysqli_error());

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

$dog = $row['dog'];

  $犬をエコーし​​ます。

}
于 2012-09-05T01:11:45.430 に答える
1

mysqli には 2 つの異なるインターフェイスがあります。1 つは古いスタイルの mysql インターフェイスに非常によく似ており、もう 1 つはオブジェクト指向のインターフェイスです。

オブジェクト指向バージョンは次のように機能します。

/* establish connection */
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo $mysqli->connect_error;
    return;
}

/* query & fetch-loop */
$result = $mysqli->query("SELECT * FROM foo ORDER BY id DESC LIMIT 10, 10");
if (!$result) {
    echo $mysqli->error;
    return;
}
while ($row = $res->fetch_assoc()) {
    $dog = $row['dog'];
    echo $dog;
}

ご覧のとおり、コードの長さは古いスタイルのバージョンとほぼ同じです (エラー チェックと接続の開始は無視してください)。

ところで: mysqli のドキュメントはそれほど悪くはありません。最初のページをスキップするだけで十分です。これは非常に奇妙です。ここから始めます: http://www.php.net/manual/en/mysqli.quickstart.connections.php

于 2012-09-05T01:22:01.260 に答える