用php写了一个文件上传的程序,并需要通过mysql记录上传信息。现在上传都没有问题,但mysql只记录我第一次

上传的信息,后面的都没有记录,但是上传是成功的,仅仅是没有写入数据库中,请问,这有可能是什么问题?核心代码:if($postback&&!empty($title1)&&... 上传的信息,后面的都没有记录,但是上传是成功的,仅仅是没有写入数据库中,请问,这有可能是什么问题?
核心代码:
if($postback && ! empty($title1)&& ! empty($title2))
{
$upload = new CUpload('upload_file', UPLOAD_PATH);
// if( $upload->isOk() && $upload->upload() ) {
$file = $upload->getDestFile();
$sql = "INSERT INTO t_file (f_title1,f_title2, f_remark, f_file, f_upload_time) ";
$sql.= "VALUES('$title1','$title2','$remark', '$file', now())";
$db = db_connect();
$db->query($sql);
$db->close();
}
}
// 建立数据库连接的函数
function db_connect()
{
// 调用mysqli的构造函数建立连接,同时选择使用数据库'test'
$db = @new mysqli("127.0.0.1", "root", "vertrigo", "test");
// 检查数据库连接
if (mysqli_connect_errno()) {
echo "数据库连接失败!<br>\n";
echo mysqli_connect_error();
exit; // 退出程序,后面的所有语句将不再执行
}
return $db;
}
上面那个问题解决了,搞了半天最后发现不是程序的问题,建数据库的时候没有建好,主键没有设置自动增加,导致只能记录一次的问题,但是新的问题又来了,我通过表单提交到数据库的信息中文显示乱码,但是把insert语句直接在phpadmin里输入中文又能正常显示,mysql数据库中文显示乱码问题网上解决方法也很多了,我找了不少,都改过还是没用,实在无解了,拜求大神了.....
展开
 我来答
chhuan123
2010-08-17 · 超过35用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:66.2万
展开全部
把$sql语句echo出来到数据库中执行一下,看看是不是sql执行失败的问题,然后再找问题就比较简单了

自动增长的主键不一定必须要有的,你可以不设置主键,或则不要把有可能重复值的字段设置为主键就行

1、在数据库安装目录下找到my.ini文件打开,找到default-character-set
一般默认default-character-set=latin1
修改为default-character-set=utf8
应该有两处要改
然后保存,重启mysql
2、为安全起见(一般不加也可以,可以先尝试一下)
$db = db_connect();
//---
$db->query('set names utf8;');//<---- 加上这句
//---
$db->query($sql);
$db->close();
103481444
2010-08-16 · TA获得超过252个赞
知道答主
回答量:152
采纳率:0%
帮助的人:0
展开全部
查看 两个 $upload->isOk() && $upload->upload() 里面的方法里面是否有返回值,返回值是什么..是否是非0数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
490895485
2010-08-17
知道答主
回答量:18
采纳率:33%
帮助的人:7.8万
展开全部
1、主键没有设成自增,你通过phpMyAdmin可以修改,将其设成自增的形式
2、如弱业务需求决定你的主键不能设成自增,你可以在每次insert之前,求出当前字段的max()值,然后+1,再塞进去,这样你就能插多条记录了
3、数据库乱码问题
LZ的数据库字符集,设定的是啥样子的?
@mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary");
query设定下字符集吧或者用Iconv 转义下~~ 一般乱码的问题都是出在这两种情况上,希望你早日解决!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式