就是用PHP连接mysql数据库后再查询数据
$conn=mysqli_connect("localhost","root","469201743","my_DB");
$conn->query('set names gb2312');
if(empty($conn))
{ die("数据库连接失败");
}
$sql= "SELECT username,phone,qq,email FROM user WHERE username = $name";
$result=$conn->query($sql);
if($row = $result->fetch_row())
这样能从数据库中正确显示所需内容
$conn=mysqli_connect("localhost","root","469201743","my_DB");
$conn->query('set names gb2312');
if(empty($conn))
{ die("数据库连接失败");
}
$sql= "SELECT username,phone,qq,email FROM user WHERE username = $name";
$result=$conn->query($sql);
if($row = $result->fetch_row())
这样能从数据库中正确显示所需内容
$sqls= "SELECT username,phone,qq,email FROM user WHERE username = $name";
$results=$conn->query($sql);
if($rows = $result->fetch_row())
但是此处就始终报错
Fatal error: Call to a member function fetch_row() on a non-object in
D:\wampserver\wamp\www\LAF\xunwu_Msg.php on line 116
我试过用$result->free_result(); $conn->close();来把前面的查询和连接释放掉,再重新建立连接还是不行啊!求解求解啊!!!!!!
$results=$conn->query($sql); 另外你的SQL 语句不都是查询同个表吗?
SELECT username,phone,qq,email FROM user WHERE username = $name同时这个查询语句的 $name 不应该是 username='$username';?
如果这些是临时的手误 那么给出完整的代码.
<?php
$msgID = $_GET['msgID'];
include ('class\conndb.php');
$sql= "SELECT msgID,title,pic,reletime,description,place,dplace,date,username FROM lostMsg WHERE msgID= $msgID ORDER BY msgID DESC"; $result=$conn->query($sql);
if($row = $result->fetch_row())
?>后面那个是这样的
<?php
include ('class\conndb.php');
$sql1= "SELECT username,phone,qq,email FROM user WHERE username = $name";
$result1=$conn->query($sql1);
if($row1 = $result1->fetch_row())
?>
<?php
$msgID = $_GET['msgID'];
include ('class\conndb.php');
$sql= "SELECT msgID,title,pic,reletime,description,place,dplace,date,username FROM lostMsg WHERE msgID= $msgID ORDER BY msgID DESC";$result=$conn->query($sql);
if($row = $result->fetch_row())
?>后面那个是这样的
<?php
include ('class\conndb.php');
$sql1= "SELECT username,phone,qq,email FROM user WHERE username = $name";$result1=$conn->query($sql1); if($row1 = $result1->fetch_row())
?>
似你这般重打一遍,现场不就破坏了吗?题外话,你把数据库操作封装成了类,却又不在类中做错误处理。这得流“泪”了
include ('class\conndb.php');
<?php
$conn=mysqli_connect("localhost","root","469201743","my_DB");
$conn->query('set names gb2312');
if(empty($conn))
{
die("数据库连接失败");
}
?>
额,确实拙计了,当时弄得有点混乱。我不加单引号它都能分别查询出结果啊,就是同时存在就不行了,不过题外话挺重要,饿哦之前就是没搞懂msqli_connect连接和mysql_connect之间区别,就随便用的一个,然后发现有的要用$result=mysql_query($sql,$conn),有的要用$result=$conn->query($sql)之类的,其实还是不怎么清楚。我知道看人家代码很蛋疼,还望赐教!
这就是现场了<?php
$msgID = $_GET['msgID'];
<?php
$conn=mysqli_connect("localhost","root","469201743","my_DB");
$conn->query('set names gb2312');
if(empty($conn))
{
die("数据库连接失败");
}
$sql= "SELECT msgID,title,pic,reletime,description,place,dplace,date,username FROM lostMsg WHERE msgID= $msgID ORDER BY msgID DESC"; $result=$conn->query($sql);
if($row = $result->fetch_row())
?>
<div id="picture">
<img src =" <?php echo $row[2];?>" height ="180" width="180" />
<?php
$name =$row[8];
$result->free_result();
$conn->close();
?>
</div>
 信息标题:<?php echo $row[1];?><br/><br/>
 发布时间:<?php echo $row[3];?><br/>
<div style="font-size: 12pt;font-weight: bold ;">基本资料</div></br>
 详细描述:<?php echo $row[4];?><br/><br/>
<div style="font-size: 12pt;font-weight: bold ;">丢失地点</div></br>
 所属区域:<?php echo $row[5];?><br/><br/>
 详细地点:<?php echo $row[6];?><br/><br/>
<div style="font-size: 12pt;font-weight: bold ;">丢失时间</div><?php echo $row[7];?></br>
<div style="font-size: 12pt;font-weight: bold ;">联系方式</div></br>
<?php
$sql1= "SELECT username,phone,qq,email FROM user WHERE username = $name";
$result1=$conn->query($sql1);
if($row1 = $result1->fetch_row()) //if($rows = mysql_fetch_row($results))
?>
 联系人:<?php echo $row1[0];?><br/><br/>
 手机:<?php echo $row1[1];?><br/><br/>
  QQ:<?php echo $row1[2];?><br/><br/>
  邮箱:<?php echo $row1[3];?><br/><br/>
</div>
$conn->close();这两句开始是没有的,后来我加上想释放掉,然后后面又重新连接数据库(上面没显示出来),还是不行
if($row1 = $result1->fetch_row())
中的 $name 要用单引号括起来!
$sql1= "SELECT username,phone,qq,email FROM user WHERE username = '$name'";
要说多少遍才能懂?!
啊啊啊 !!!你不知道我有多激动,就这一点从昨天纠结到现在,我承认我笨啊,十分感谢!
顺便再请教一下,为什么这里要加单引号?第一个查询语句中变量$msgID也是外面赋值的变量啊,为什么那个不加可以呢?第二个又必须加呢?
<input type="file" name="picfile" value="" style="width:300px;"/>
从会话中取出$pic=$_POST['picfile'];
然后插入到数据库中时,为什么数据库中显示是这样的,没有斜杠,
D:wampserverwampwwwLAFpic自行车.jpg
这样读取的时候就不能显示出图片
应该怎么做呢
因为 username 是字符类型
为什么 $msgID 不需要加引号?
因为 msgID 是数值类型我怎么知道的?
你没加,出错了$pic=$_POST['picfile'];
应为
$pic=$_FILES['picfile'];手册中说的很清楚了手册不是教科书,不会教你怎么做(简单的示例还是有的)
手册是工具书,那么都东西神仙才能记得住。记不住时就得翻一翻