我想实现用户之间的通信,思想是建立一个消息表,然后把收件人用户名、发件人用户名、消息等放进去,然后谁想看发给自己的消息就去消息表中查找收件人是自己的记录。现在做到发消息这一块儿了,发完消息我发现 数据库消息表中并没有记录,应该是没有正确插入表中,大神帮忙看看是哪里错了,我也是刚接触PHP的,以前上课学的东西都是基础的,运用到实践中总是出很多问题。
下面附上相关的代码( 其中sqltable是用户表,sqltable2是消息表,user_name是用户表中存储用户名的,s_name是消息表中存储发件人的,r_name是消息表中收件人)
config.php
message.php
location.href='index.php';";exit;}//上面的要验证过滤的?>给管理员发信
message_cl.php
location.href='index.php';";exit;$_SESSION["name"]=$row[user_name];//这里是SESSION来验证用户的合法性}include("config.php"); //参数页面提取过来if(empty($_POST["r_name"])){echo ("");exit;}if(empty($_POST["content"])){echo ("");exit;}$s_name=$_SESSION["name"];$r_names=$_POST["r_name"];$content=$_POST["content"];$add_time=date("Y-m-d");$is_open="no";$db=mysql_connect($servername,$sqlservername,$sqlserverpws);mysql_select_db($sqlname,$db) ;$sql="select * from $sqltable where user_name='$s_name'";$result=mysql_fetch_row(mysql_query($sql));if(!$result){echo ("");}else{$sql="insert into $sqltable2(s_name,r_name,content,add_time,is_open) values('$s_name','$r_name','$content','$add_time','$is_open') ";mysql_query($sql);echo ("");}?>回复讨论(解决方案)
message_cl.php 37 行
mysql_query($sql) or die(mysql_error());
$s_name=$_SESSION["name"];
$r_names=$_POST["r_name"];
$content=$_POST["content"];
输出一下,看有 值没
还有insert into $sqltable2(s_name,r_name,content,add_time,is_open) values('$s_name','$r_name','$content','$add_time','$is_open')
用SQL操作一下表,看结果是什么
哈哈,把分给我吧,已经远程协助解决。就是sql表里没有is_open字段而php又要插入is_open字段值,还有就是sql语句拼装问题










