2010-12-01 102 views
1

对不起,如果这是一个非常简单的问题。我对网络语言不太了解。
基本上,它不起作用。PHP MySQL插入不工作

$insert= 
(
    "INSERT INTO phpbb_members ". 
    "(emailAddress, uid, valid, firstandlast, propic, memberName) ". 
    "VALUES ($me['email'], $uid, 1, $me['name'], $propic, $newuser)" 
); 
mysql_query($insert) or die('Error, insert query failed'); 
+0

你试过只是运行使用类似phpmyadmin的查询?这可能会给你更多的见解。也许你有一个列名错字或者你错过了一列。 – 2010-12-01 17:46:04

回答

2

我觉得问题可能出在你已经制定了要插入的信息的方式。

这应该工作:

$insert=("INSERT INTO phpbb_members (emailAddress, uid, valid, firstandlast, propic, memberName) 
VALUES ('$me[email]', '$uid', '1', '$me[name]', '$propic', '$newuser')"); 
     mysql_query($insert) or die('Error, insert query failed'); 

希望它能帮助!

编辑:我很确定要插入的信息必须在' '之内。

+0

谢谢你解决了这个问题,我讨厌PHP和它的所有':( – PlyPencil 2010-12-01 17:51:00

3

如果您将用于测试之后,它会告诉你的错误:

mysql_query($insert) or die(mysql_error()."<br />".$insert); 
4
$insert="INSERT INTO phpbb_members (emailAddress, uid, valid, firstandlast, propic, memberName) 
VALUES ('".$me['email']."', $uid, 1, '".$me['name']."', '$propic', $newuser)"; 

缺少奇异引号(字符串[VARCHAR,字符,文本等]),你需要关闭你的报价和引用数组时拼接。上面假定的$ uid和$ newuser以数字形式存储在数据库中。

+0

确切地说,你不能在$双引号内使用$ me ['email']。 – Nacho 2010-12-01 17:48:43

2
$insert=("INSERT INTO phpbb_members (emailAddress, uid, valid, firstandlast, propic, memberName) 
VALUES ($me['email'], $uid, 1, $me['name'], $propic, $newuser)"); 

在开始和结束时是否需要这些额外的括号? 尝试将其删除并执行。

$sql = "SELECT * FROM Person"; 
mysql_query($sql,$con); 
2
$insert=("INSERT INTO phpbb_members (emailAddress, uid, valid, firstandlast, propic, memberName) 
VALUES ('".$me['email']."','". $uid."',1,'". $me['name']."','" .$propic."','". $newuser."')"); 
mysql_query($insert) or die('Error, insert query failed'); 
2

尝试下面的代码,

$insert=("INSERT INTO phpbb_members (emailAddress, uid, valid, firstandlast, propic, memberName) VALUES ('{$me['email']}', '{$uid}', '1', '{$me['name']}', '{$propic}', '{$newuser}')"); 
mysql_query($insert) or die('Error, insert query failed');