编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
 15 12
发新话题
打印

[求助]部分程序打包如下,在线等

[求助]部分程序打包如下,在线等

写了个php程序数据库操作出了点问题,一提交表单就说数据库操作错误,这个错误是我自己定义的,找了很久都没找到原因,希望哪位大侠能替小弟解决这个问题.程序代码已经打包.


附件: 只有本站会员才能下载或查看附件,请您 登录注册

TOP

如果你有什么具体问题可以提上来,让人去下载程序为你改那就太耗费时间了吧,把你具体出错的部分程序发上来.

让我们在交流中成长

TOP

<? header("Content-Type: text/html; charset=gb2312"); ?>
<?
include "conn.php";
include "replace.inc";
if($title=""||$message="")
{
echo "<table width=100% height=100% border=0>";
echo "<table width=50% border=1 bordercolor=#666666 align=center cellpadding=7><tr><td><center>错误:日记的标题和内容都不能为空!<br>";
echo "<A href=\"JavaScript:history.back()\">返回</A>";
echo "</center></td></tr></table></td></tr></table>";
exit();
}
else
{
$title=replace($title);
$message=replace($message);
}
$select=mysql_select_db($data,$db) or die("错误!");
$SQL="INSERT INTO book (id,title,message,shi,biao) VALUES (null,'".$title."','".$message."','".$shi."','".$biao."')";
mysql_query($SQL) or die("数据库操作失败!");
echo "<meta http-equiv=refresh content=0;url=index.php>";
?>
这是表单处理页面,replace()为自己定义的过滤函数.
连接文件

<? $data="bbbb";//数据库名称,请先用phpmyadmin或其他工具建立此数据库,可改成自己的数据库名称 $db=mysql_connect("localhost","root","") or die("数据库连接错误!");//服务器地址或ip ,用户名,密码 ?>






数据库相关项目
create table book(
id int(6) auto_increment primary key,
title varchar(20),
message longblob,
shi int(15),
biao int(20)
);
我一提交表单对数据库操作就出现我定义的错误信息("数据库操作失败!")

TOP

我想知道你的所有的变量:$title,$messege,$shi,$biao是否已经被本页即add.php接收到,如果连变量都没有接收到的话,还谈什么插入数据呢

让我们在交流中成长

TOP

这个我也不太清楚到底有没有接收到,能麻烦你下我的源程序看下么,整个程序就差这个问题没解决了,就等这个地方的问题解决了,希望能帮帮忙

TOP

把以上四个变量用$_POST接收一下,格式如下:$_POST["title"],问题应该就会解决

让我们在交流中成长

TOP

很不幸的是我改了还是不行
<? header("Content-Type: text/html; charset=gb2312"); ?>
<?
include "conn.php";
include "replace.inc";
$title=$_POST["title"];
$message=$_POST["message"];
$shi=$_POST["shi"];
$biao=$_POST["biao"];
if($title=""||$message="")
{
echo "<table width=100% height=100% border=0>";
echo "<table width=50% border=1 bordercolor=#666666 align=center cellpadding=7><tr><td><center>错误:日记的标题和内容都不能为空!<br>";
echo "<A href=\"JavaScript:history.back()\">返回</A>";
echo "</center></td></tr></table></td></tr></table>";
exit();
}
else
{
$title=replace($title);
$message=replace($message);
}
$select=mysql_select_db($data,$db) or die("错误!");
$SQL="INSERT INTO book (id,title,message,shi,biao) VALUES (null,'".$title."','".$message."','".$shi."','".$biao."')";
mysql_query($SQL) or die("数据库操作失败!");
echo "<meta http-equiv=refresh content=0;url=index.php>";
?>

TOP

如果你的这一句:if($title=""||$message="")不是手误的话,那么问题就是它了,因为在这里它总是为真的,这是赋值语句,直接会将前面接收到的值冲掉,变为空值,当你插入一个不允许为空的字段的时候,自然就会出错,将它改为:if($title==""||$message=="")

让我们在交流中成长

TOP

告诉版主一个很不幸的消息,那个地方手误写错了,不过改了以后还是不对,麻烦版主再看看,我已经快要崩溃了

TOP

先确认一下上一页表单中的各项命名是否与本页接收时的名字一样,然后在本页先echo 一下,不过我想你不会犯这么低级的错误而这么长时间没有调试出来吧,
将你的sql语句简练一下,没有必要弄这么多引号,估计你就是错在这里了,将你的语句如下写就可以了:$SQL="INSERT INTO book (id,title,message,shi,biao) VALUES (null,'$title','$message','$shi','$biao')";

让我们在交流中成长

TOP

 15 12
发新话题