首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL "INSERT INTO“标记错误

MySQL "INSERT INTO“标记错误
EN

Stack Overflow用户
提问于 2013-09-22 00:50:47
回答 5查看 164关注 0票数 0

这是我的代码:

代码语言:javascript
复制
<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn ) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
$sql = "INSERT INTO together (`First Name`,`Last Name`, `Email id`,'Password') 
VALUES ( '$_POST[First name]', '$_POST[Last name]', '$_POST[Email_id]','$_POST[Password]')"; 

mysql_select_db('test'); 
$retval = mysql_query( $sql, $conn ); 
if(! $retval ) 
{ 
die('Could not enter data: ' . mysql_error()); 
} 
echo "You have successfully singed up for together \n"; 
mysql_close($conn); 
?> 

但是当我运行它时,我得到了以下错误:

代码语言:javascript
复制
( Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting ']' in C:\wamp\www\MyProjects\Sign_up.php on line 11) 

请帮我修一下。

EN

回答 5

Stack Overflow用户

发布于 2013-09-22 00:53:12

在INSERT查询中将'Password'更改为Password。此外,$_POST[First name]不会工作-您需要调用:$_POST['First name'] (带引号)

此外,不建议使用mysql_*函数-它已过时(请参阅)且不安全。请改用PDO或MySQLi。

下面是一个使用PDO的示例:

代码语言:javascript
复制
$dbh = new PDO("mysql:host=$hostname;dbname=test", $username, $password);
$stmt = $dbh->prepare("INSERT INTO together (`First Name`,`Last Name`, `Email id`,'Password') 
      VALUES (:fname, :lname, :email_id, :pwd)") ;

    /*** bind the paramaters ***/
    $stmt->bindParam(':fname', $fname, PDO::PARAM_STR);
    $stmt->bindParam(':lname', $lname, PDO::PARAM_STR);
    $stmt->bindParam(':email_id', $email_id, PDO::PARAM_INT);
    $stmt->bindParam(':pwd', $pwd, PDO::PARAM_STR);

    /*** execute the prepared statement ***/
    $stmt->execute();

    /*** fetch the results ***/
    $result = $stmt->fetchAll();

    /*** loop of the results ***/
    foreach($result as $row)
        {
        echo $row['`First Name`'].'<br />';
...
票数 1
EN

Stack Overflow用户

发布于 2013-09-22 00:54:52

伙计,你需要在你的数组中这样做:

代码语言:javascript
复制
$_POST["Email_id"]

此外,在查询sql中,字段不需要'`‘。如果您真的创建了名称中包含空格的字段

票数 1
EN

Stack Overflow用户

发布于 2013-09-22 09:10:05

你是不是忘记了[]之间的引号?网址:( '$_POST[First name]', '$_POST[Last name]', '$_POST[Email_id]','$_POST[Password]')

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18935143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档