所以,如果我想从我的数据库中提取一些数据(PHP,MySql),无论我是为一个类编写还是硬编码,我都在做以下几点:
$x = "SELECT <column(s)> FROM <table> WHERE <conditions>";
$y = mysql_query($x);
while($result = mysql_fetch_assoc($y))
{
echo $result['column']; // etc
}
显然我使用的是一个函数或类(取决于设计模式)所以拉这样的数据是在一行中完成的,我只是想知道我是否做了'太多的工作',如果有更快的方法这样做。
感谢。
答案 0 :(得分:1)
看起来不错。你也许可以将第一个牵引线合并到“$ y = mysql_query('SELECT FROM WHERE');”
请注意,在PHP中,使用单引号(')而不是双引号(“)更快(从编译时开始)。
这取决于进一步的工作,但您可能想考虑将信息加载到XML dom格式。 (如果你想做更复杂的事情,只代表数据)
答案 1 :(得分:1)
通过使用更新的PHP模块访问数据库,您可以获得更严格的代码。
您正在使用的mysql_xxx()
函数已被mysqli_xxx()
函数取代。这使用了类似的代码,但提供了比旧库更多的功能和安全性:
$query = 'SELECT <column(s)> FROM <table> WHERE <conditions>';
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
print $row['column'];
}
}
您可以在此处找到有关MySQLi的更多信息(包括它与旧MySQL库的不同之处):http://php.net/manual/en/book.mysqli.php
但是对于非常简洁的代码,您可以考虑查看PDO库。您的查询可以用PDO表示:
$sql = 'SELECT <column(s)> FROM <table> WHERE <conditions>';
foreach ($conn->query($sql) as $row) {
print $row['column'];
}
...如果你真的想,那么该代码的前两行也可以合并。
在PHP手册网站上了解有关PDO的更多信息:http://www.php.net/manual/en/book.pdo.php