日期:2014-05-17  浏览次数:20469 次

数据库的插入
<?php

$conn = mysql_connect("localhost","root","1234567");
mysql_query("SET NAMES 'utf8'");
if (!$conn)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db("code", $conn);

  $sql="INSERT INTO keycode (key) VALUES ('$_POST[username]')";
  if($_POST[username]!=null){
  mysql_query($sql, $conn);
  echo "status='$_POST[username]'";
  }else
  echo "no number!";
  mysql_close();
?>

在flex端发送了一个参数过来,可为何插入不了的呢???
可以显示 echo "status='$_POST[username]'"; 这个,可是数据库里就是没看到有东西插入!!!!
各位高手,指点指点啊!!!!!


------解决方案--------------------
有可能是传递过来的中文无法正常插入。试下用英文能不能插入。如果可以的话 中文做一个iconv的转码.
------解决方案--------------------
mysql_query($sql, $conn) or die(mysql_error());//看看是否有错

echo mysql_affected_rows($conn); //看看出入了几条
------解决方案--------------------
这还不是错吗?
key 是 mysql 保留字,挪作他用时要转义

 $sql="INSERT INTO keycode (`key`) VALUES ('$_POST[username]')";
------解决方案--------------------
这种错误我以前也犯过啊
------解决方案--------------------
探讨
都不行啊!!!好生郁闷。
我把那个$sql 输出来是这样子的:INSERT INTO keycode (key) VALUES ('17')
然后我把它直接在mysql里运行提示说:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server vers……