我有一个关于从mysql数据库检索多行的PHP代码。但我发现它太重了。以下只是一个摘录,因为我对数据库中的每个单词使用相同的方法。你有更好的解决方案吗?我可以为所有页面只做一个声明,只需将请求的ID放在正确的位置吗?感谢您的任何帮助。
<?php
$dbname = 'xxxx';
$dbuser = 'xxxx';
$dbpass = 'xxxx';
$dbhost = 'localhost';
$conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
if ($conn->connect_error)
{
echo "connection error" ;
}
$sql = "SELECT * FROM test WHERE id='1'";
$result = $conn->query($sql);
?>
<?php
if ($result->num_rows > 0) {
while($data = $result- >fetch_assoc())
{
echo $data['FR']."<br>";
}
} else {
echo "---";
}
?>
</h3><a href="index.html" title="">FR|</a>
<a href="index_en.html" title="">EN|</a>
<a href="index_es.html" title="">ES|</a>
<a href="index_cn.html" title="">CHI</a>
</div>
<nav role="navigation" class="main-nav">
<ul>
<li class="active">
<a href="index.html" title=""><? php
$conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
if ($conn->connect_error)
{
echo "connection error" ;
}
$sql = "SELECT * FROM test WHERE id='59'";
$result = $conn->query($sql);
?>
<?php
if ($result->num_rows > 0) { while($data = $result->fetch_assoc())
{echo $data['FR']."<br>"; } } else {echo "---"; }?>
<?php
$conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
if ($conn->connect_error)
{
echo "Problemes de connexion a la base de données " ;
}
$sql = "SELECT * FROM test WHERE id='60'";
$result = $conn->query($sql);
?>
<?php
if ($result->num_rows > 0) { while($data = $result->fetch_assoc())
{echo $data['FR']."<br>"; } } else {echo "---"; }?>
<?php
$conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
if ($conn->connect_error)
{
echo "connection error" ;
}
$sql = "SELECT * FROM test WHERE id='61'";
$result = $conn->query($sql);
?>
答案 0 :(得分:0)
当然可以。
SELECT * FROM `test` WHERE `id` IN (59, 60, 61)
您可以根据需要使用尽可能多的id值填充IN
子句,并且每个匹配的ID会在结果中返回一行。
答案 1 :(得分:0)
Ok, Finally i choose Raymond's method, just customizing the code to my mysql version. I will reuse the code wherever i have data in block. Thanks a lot.
enter code here
$sql = "SELECT * FROM test WHERE id IN ('59','60','61')";
$result = $conn->query($sql);
?>
<?php
if ($result->num_rows > 0) { while($data = $result->fetch_assoc())
{echo $data['FR']. "<br>"; } } else {echo "---"; }?></a></li>