<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$firstname=$lastname = $email = $address = $hphone = $mphone = "";
$link = mysql_connect('shunurcom.fatcowmysql.com', 'sachin', 'sacjap');
mysql_select_db(cycle,$link);
if (!empty($_POST["firstname"]))
{
$firstname = $_POST["firstname"];
$sql= "SELECT * FROM users WHERE firstname = '$firstname' ";
$comments=mysql_query($sql,$link);
if(!$comments==false )
{
while($row = mysql_fetch_array($comments, MYSQL_ASSOC))
{
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$email = $row['email'];
$address = $row['address'];
$hnum = $row['hphone'];
$mnum = $row['mphone'];
echo " <div style='margin:30px 0px;'>
First Name: $firstname<br />
Last Name: $lastname<br />
Email: $email<br />
Address: $address<br />
Home Number: $hnum<br />
Mobile Number: $mnum
</div>
";
}
}
else {
echo "invalid";
}
}
我尝试使用size of
, mysql_num_rows
,但代码不去其他部分,当给出错误输入时应该打印无效。
知道为什么吗?当输入无效时,它只显示空白屏幕。
首先,mysql_query
将在错误时返回FALSE
,而不是当结果集为空时,其次,您应该停止使用mysql_*
api,因为它已弃用。
此扩展在PHP 5.5.0中已弃用,并在PHP 7.0.0中被删除
使用mysqli_*
或更好的PDO
像这样更新你的代码:
// test here if you have a result set or not
$rows = mysql_num_rows($comments);
if ($rows == 0) {
print "invalid or no results"; // this way you won't execute the
// while block on an empty result set
}
else {
while($row = mysql_fetch_array($comments, MYSQL_ASSOC)) {
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$email = $row['email'];
$address = $row['address'];
$hnum = $row['hphone'];
$mnum = $row['mphone'];
echo "<div style='margin:30px 0px;'>
First Name: $firstname<br />
Last Name: $lastname<br />
Email: $email<br />
Address: $address<br />
Home Number: $hnum<br />
Mobile Number: $mnum
</div>";
}
}
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$firstname = $lastname = $email = $address = $hphone = $mphone = "";
$link = mysql_connect('shunurcom.fatcowmysql.com', 'sachin', 'sacjap');
mysql_select_db(cycle, $link);
if (!empty($_POST["firstname"]))
{
$firstname = $_POST["firstname"];
$sql = "SELECT * FROM users WHERE firstname = '$firstname' ";
$comments = mysql_query($sql, $link);
if (!$comments == false)
{
$number = mysql_num_rows($comments);
if ($number >= 1)
{
while ($row = mysql_fetch_array($comments, MYSQL_ASSOC))
{
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$email = $row['email'];
$address = $row['address'];
$hnum = $row['hphone'];
$mnum = $row['mphone'];
echo " <div style='margin:30px 0px;'>
First Name: $firstname<br />
Last Name: $lastname<br />
Email: $email<br />
Address: $address<br />
Home Number: $hnum<br />
Mobile Number: $mnum
</div>
";
}
}
else
{
echo "No record Found";
}
}
else
{
echo "invalid";
}
}
我在你的代码中看到了很多混淆。
请试一下:
<?php
if($_POST)
{
$link = mysql_connect('shunurcom.fatcowmysql.com', 'sachin', 'sacjap');
mysql_select_db(cycle,$link);
if (isset($_POST["firstname"]))
{
$firstname = $_POST["firstname"];
$sql= "SELECT * FROM users WHERE firstname = '$firstname' ";
$comments=mysql_query($sql,$link);
if($comments ) {
$number=mysql_num_rows($comments);
while($row = mysql_fetch_assoc($comments))
{
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$email = $row['email'];
$address = $row['address'];
$hnum = $row['hphone'];
$mnum = $row['mphone'];
echo " <div style='margin:30px 0px;'>
First Name: $firstname<br />
Last Name: $lastname<br />
Email: $email<br />
Address: $address<br />
Home Number: $hnum<br />
Mobile Number: $mnum
</div> ";
}//end of while loop.
}
?>