急!!有一连串的问题带你解决!在线等!
if(!mysql_query($result,$con)){
$sql="INSERT INTO RptGuestDaily (rpt_date,post_cnt,view_cnt)
VALUES ('$Date','$post','$view')";
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error()."<br>");
}else{echo "Data insert complete.";}
}else{
$sql="UPDATE RptGuestDaily SET post_cnt='$post'
WHERE Date='$Date'";
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error()."<br>");
}else{echo "Data insert complete.";}
}
我想要当没有这个日期时,他会insert新资料进table.
但是有这个日期是他会根据当时的日期,update资料。
像是今天又多少人post新贴。27/5/2011 post的人有OOXX
作者: miehunyou 发布时间: 2011-05-27
{
$sql="insert..........";
}
else
{
$sql="update...........";
}
作者: pkpptoo 发布时间: 2011-05-27
順便說一下,想提升自己的水平,或將來容易維護,所以最好是用class來寫php
即,面向對象編程
作者: sibang 发布时间: 2011-05-27
作者: miehunyou 发布时间: 2011-05-27
作者: miehunyou 发布时间: 2011-05-27
作者: jordan102 发布时间: 2011-05-27
我不是有写如果有了就update吗?怎么走不了?
作者: miehunyou 发布时间: 2011-05-27
作者: chendong_j 发布时间: 2011-05-27
PHP code
$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date if(!$result){//没有的话就insert $sql="INSERT INTO RptGuestDaily (rpt_date,post_cnt,view_cnt) VALUES ('$Date','$post','$view')"; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()."<br>"); }else{echo "Data insert complete.";} }else{//有的话就update $post++; $sql="UPDATE RptGuestDaily SET post_cnt='$post' WHERE rpt_date='$Date'"; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()."<br>"); }else{echo "Data insert complete.";} }
难道这样不对吗?
作者: miehunyou 发布时间: 2011-05-27
作者: miehunyou 发布时间: 2011-05-27
还是一样。Error: Duplicate entry '2011-05-27' for key 'PRIMARY'
我不是有写如果有了就update吗?怎么走不了?
表结构问题
作者: wbandzlhgod 发布时间: 2011-05-27
难道我想要‘如果这个主键有了就update’是不行的吗?
PHP code
$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date
if(!$result){//没有的话就insert
$sql="INSERT INTO RptGuestDaily (rpt_date,……
+1
作者: wbandzlhgod 发布时间: 2011-05-27
你并没有指定待匹配的 rpt_date 的值
if(!$result){//没有的话就insert
即便没有也不会返回假,只不过结果集长度为0
对于你的这种应用,只需执行一句
$sql = "REPLACE INTO RptGuestDaily (rpt_date,post_cnt,view_cnt) VALUES ('$Date','$post','$view')";
即可!
作者: xuzuning 发布时间: 2011-05-27
否则还是先查找一下指定的rpt_date,然后再update吧
$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date
你并没有指定待匹配的 rpt_date 的值,即缺少where 查询条件
作者: chendong_j 发布时间: 2011-05-27
更搞笑的是Error: Unknown column 'rpt_date' in 'where clause'
名字是copy paste出来的会是unknow...还是另有意思...
作者: miehunyou 发布时间: 2011-05-27