1

そのため、SELECT CONCAT クエリを実行し、クエリの結果を返し、基本的に .php Web ページに表示しようとしています。たとえば、次の SQL コードを手動で PHPMyAdmin に追加するとします。

SELECT CONCAT(m.Name, ' ', p.Model, ' - ', p.StorageSize, ' - ', o.Name, ' - ', p.Price)
FROM phones p
JOIN manufacturer m
ON p.ManufacturerID = m.ManufacturerID
JOIN operatingsystem o
ON p.OSID = o.OSID

PHPMyAdmin はそれを実行し、「Apple iPhone 5 - 16GB - iOS - 499.99」と表示します。ただし、これを PHPMyAdmin だけでなく .php ページに表示しようとしていますが、うまく動作しません。ある種の echo コマンドを使用する必要がありますが、たとえば echo $result を使用すると、Web ページに何も表示されないか、「リソース ID #3」が表示されることがあります。私の PHP コード全体は以下のとおりです。

<html>
<head>
<LINK rel="stylesheet" href="style.css">
<title>Phones | Mobiles Four You</title>
</head>

<body>
<div id="container"> 
<div id"header"><img src="images/logo.png" alt="Logo"/></div>
<div id="navbar">
<ul>
<li><a id=”nav-home” class=”first” href="index.php">Home</a></li>
<li><a id=”nav-phones” href="phones.php?sort=Make">Phones</a></li>
<li><a id=”nav-search” href="search.php">Search</a></li>
<li><a id=”nav-login” href="login.php">Login</a></li>
<li><a id=”nav-contact” class=”last” href="contact.php">Contact</a></li>
</ul>
</div>

<div id="content">
<h1>Mobile Phones</h1>
</div>


<?php
$con = mysql_connect("b*********", "*****", "*****");
if (!$con)
{
die('Could not connect: '  . mysql_error());
}

mysql_select_db("bg29li", $con);
$query = ("SELECT CONCAT(m.Name, ' ', p.Model, ' - ', p.StorageSize, ' - ', o.Name, ' -             ', p.Price)
FROM phones p
JOIN manufacturer m
ON p.ManufacturerID = m.ManufacturerID
JOIN operatingsystem o
ON p.OSID = o.OSID"); 

mysql_close($con);
?>
</body>
</html>

どんな助けでも大歓迎です

4

4 に答える 4

1

連結された名前に別名を付けてから、行をループしてエコーします。

mysql_select_db("bg29li", $con);
$query = ("SELECT CONCAT(m.Name, ' ', p.Model, ' - ', p.StorageSize, ' - ', o.Name, ' -             ', '£' , p.Price) AS Names
FROM phones p
JOIN manufacturer m
ON p.ManufacturerID = m.ManufacturerID
JOIN operatingsystem o
ON p.OSID = o.OSID"); 

$result = mysql_query($query);

while($row=mysql_fetch_array($result))
{
    // here you can get the values using $row['names']
    echo $row['names'];

} 

mysql_close($con);

ただし、mysql_query 拡張機能の使用をやめて、代わりに PDO または準備済みステートメントを使用してください。

于 2013-02-04T12:49:32.257 に答える
0
$query = "SELECT CONCAT(m.Name, ' ', p.Model, ' - ', p.StorageSize, ' - ', o.Name, ' -             ', p.Price)  AS val
FROM phones p
JOIN manufacturer m
ON p.ManufacturerID = m.ManufacturerID
JOIN operatingsystem o
ON p.OSID = o.OSID"; 

$res  = mysql_query($query);

while($row = mysql_fetch_assoc($res)){
    print_r($row);
}
于 2013-02-04T12:50:15.260 に答える
0

mysql_select_db("bg29li", $con);

まず、文字列形式で実行する SQL クエリを作成します

$query = "SELECT CONCAT(m.Name, ' ', p.Model, ' - ', p.StorageSize, ' - ', o.Name, ' - ', p.Price) FROM 電話 p JOIN メーカー m ON p .ManufacturerID = m.ManufacturerID JOIN オペレーティング システム o ON p.OSID = o.OSID";

その後、このクエリを実行すると、結果が $result 変数に返されます

$result = mysql_query($クエリ);

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

printf("%s  ", $row[0]);  

}

于 2013-02-04T12:51:45.627 に答える
0
    $query = ("SELECT CONCAT(m.Name, ' ', p.Model, ' - ', p.StorageSize, ' - ', o.Name, ' -             ', p.Price)
FROM phones p
JOIN manufacturer m
ON p.ManufacturerID = m.ManufacturerID
JOIN operatingsystem o
ON p.OSID = o.OSID");

これだけではmysql_query($query)実行する必要はありません。文字列変数のみの場合は、結果を取得するために mysql_fetch_array または mysql_fetch_object を使用する必要があります。

于 2013-02-04T12:52:53.460 に答える