PHP的问题,插入数据失败

来源:百度知道 编辑:UC知道 时间:2024/05/18 14:21:43
源码是:
<?php
//连接服务器
$select=mysql_connect('localhost','root','231420') or die('数据库连接失败:'.mysql_error());
if(mysql_select_db('test', $select))
{
echo "选择test数据库成功!";
}
else
{
echo "'选择test数据库失败!'.mysql_error()";
}
//设定插入语句
$n = $_POST["xm"];
$m = $_POST["ly"];
$insert="insert into book (name,message) values ($n,$m)";
$x=mysql_query($insert) or die("<br>插入失败:".mysql_error());
//检索判断是否新数据已经插入成功
$x=mysql_query("select * from book") or die('<br>查询表book失败:'. mysql_error());
//取得记录数量
$num=mysql_num_rows($x);
//输出总记录结果
echo"数据库记录总数:$num <br>";
//输出一个表格
echo "<table border=1><tr><td>姓名</td> ";
echo "<td>留言</td>";
echo "<td>时间</tr>

你确定下你设定插入的两个值
$n = $_POST["xm"];
$m = $_POST["ly"];
是否能POST取到,之前有提交这xm和ly的POST的表单吗?
没有的话,你的$n和$m值都为空,怎么能插入数据呢?

即然你的问题已经找到,我就不答了。

系统时间用 PHP 取得的话,使用 $date=date("Y-m-d H:i:s");

楼上是使用 MYSQL 时间。

首先你这个数据库语句就写的很冗余:
1,在mysql_select_db()die() 为什么要输出直接这样就可以了,你哪样很耗资源
2,你插入数据后不需要再去执行select语句查询了,这样你就把mysql_query功能白用了,它本身就是向数据库发送一条请求数据的,你可以直接进行mysql_fetch_row 操作
3,如果有时间字段插入时候SQL带上
4,你用$_POST 的到提交数据的时候那边是这样方式的吗?
<html>
<body>
<form action="insert.php" method="post">
<input type="text" name="XM" />
<input type="text" name="ly" />
<input type="submit" />
</form>
</body>
</html>

从insert处开始
代码如下:
<?
$sql="insert into `book`(`name`,`message`,`time`)values('$n',$m,now())";
$result=my