gpt4 book ai didi

php - 如果没有数据库信息,则返回一个变量,用于创建有关无数据的注释

转载 作者:行者123 更新时间:2023-11-29 14:05:28 26 4
gpt4 key购买 nike

我现在正在开发一个 php 函数,但遇到了一些麻烦。

目前我正在 php 页面上使用一个函数,如下所示:

get_Properties($currUser);

这又转到第二个 php 文件来执行此操作:

function get_Properties($currUser) {
$mysql = New Mysql();
return $mysql->get_Properties($currUser);
}

最后但并非最不重要的一点是,这带来了我正在开发的功能:

function get_Properties($currUser) {
//new instance of mysqli
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
//if it doesn't work give an error
if (!$mysqli) {
die('There was a problem connecting to the database.');
}
$queryProperties ="SELECT Id, Agent, MainImage, Address, Bedrooms, Baths, Price
FROM Properties
WHERE Agent = '$currUser'
ORDER BY Id DESC";
if ($Results = $mysqli->query($queryProperties)){
if (!$Results) {
echo 'Could not run query: ' . mysql_error();
exit;
}
else{
$Results = $mysqli->query($queryProperties);
}
while ($rows = $Results->fetch_assoc()) {
echo '<div class="product clearfix">';
echo '<div class="l-image">';
echo '<img src="'.$rows['MainImage'].'" alt="'.$rows['Agent'].'" title="'.$rows['Agent'].'" />';
echo '<div class="l-image-hover">';
echo '<a href="#" class="l-lupa"><!-- --></a>';
echo '<a href="#" class="l-link"><!-- --></a>';
echo '</div>';
echo ' </div>';
echo '<div class="l-shadow"><!-- --></div>';
echo '<div class="l-title"><a href="property-details.php">'.$rows['Address'].'</a></div>';
echo '<div class="l-features clearfix">';
echo '<div class="l-bedrooms">'.$rows['Bedrooms'].' Bedrooms</div>';
echo '<div class="l-baths">'.$rows['Baths'].' Bathrooms</div>';
echo '</div>';
echo '<div class="l-details clearfix">';
echo '<div class="l-price">£'.$rows['Price'].' PCM</div>';
echo '<div class="l-view"><a href="property-details.php?PropertyId='.$rows['Id'].'">View details</a></div>';
echo '</div>';
echo '</div>';
}
}
$mysqli->close();
}
}

现在我遇到的问题是,并不总是会有一些东西可以回响。有时 $rows 变量不会返回任何内容(没有针对该特定用户的条目)。

问题是。我如何让它说“如果没有返回行,显然没有该用户的数据,因此返回一个像 $userHasNoData = 1 这样的变量。或者类似的东西。这样在主页上我可以说“if (isset ($userHasNoData)) { echo "没有数据!"; }

哦,由于我仍在学习,请完全自由地以任何方式批评我的代码以帮助我改进:)非常感谢!

最佳答案

扩展 shannonoman 的答案,您可以添加 num_rows在执行 while 语句之前调用作为检查:

if ($result->num_rows == 0) {
echo 'Sorry, no data!';
} else {
while ($rows = $Results->fetch_assoc()) {
// output stuff
}
}

作为进一步改进代码的机会,我还想指出,当您可以执行一次时,您正在调用 $mysqli->query 两次:

if ($Results = $mysqli->query($queryProperties)) {
if ($result->num_rows == 0) {
echo 'Sorry, no data!';
} else {
while ($rows = $Results->fetch_assoc()) {
// output stuff
}
}
} else {
echo 'Could not run query: ' . $mysqli->error; // not mysql_error!
exit;
}

关于php - 如果没有数据库信息,则返回一个变量,用于创建有关无数据的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com