2013-07-28 36 views
2

这是包含窗体本身我的index.php页面:我在注册表单操作页面上收到错误信息?

<html> 
<body> 

<form action="registeraction.php" method="post"> 
First Name: <input type="text" name="fname"><br> 
Last Name: <input type="text" name="lname"><br> 
Email Address: <input type="text" name="emaddress"><br> 
Confirm Email Address: <input type="text" name="confirmemaddress"><br> 
Password: <input type="password" name="pword"><br> 
Confirm Password: <input type="password" name="confirmpword"><br> 
<input type="submit"> 
</form> 

</body> 
</html> 

这是我registeraction.php页面处理表单:

<?php 
$con=mysqli_connect("localhost", "root", "", "registration_info"); 
//Check Connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

mysqli_query($con,"INSERT INTO Registration_Basics (fname, lname, emaddress,   
confirmemaddress, pword, confirmpword) 
VALUES 
('$_POST[fname]','$_POST[lname]','$_POST[emaddress]','$_POST[confirmemaddress]',   
'$_POST[pword]', '$_POST[confirmpword]')"; 

if (!mysqli_query($con,$sql)) 
{ 
die('Error: ' . mysqli_error($con)); 
} 
echo "1 Record Added"; 

mysqli_close($con); 
?> 

这是我得到我时错误用表单中的所有信息运行registeraction.php文件:解析错误:语法错误,意外的';'在C:\ XAMPP \ htdocs中\ TutorialBoy \ registeraction.php上线11

+1

[点击这里了解如何使用的MySQLi看到一个很好的例子,它也将帮助你找出为什么你不工作。(http://stackoverflow.com/questions/17123481/insert-data-into-table-using-php/17123740#17123740)请记住,您正在使用MySQLi,但您直接在查询中注入数据,这使您很容易受到SQL注入的影响,我刚才提到的例子也会告诉你如何使用预处理语句。 – Prix

+0

当然,你正在发布一个接一个的错误。建议@Prix,评论。 – vee

回答

0

你缺少一个右括号这里:

mysqli_query($con,"INSERT INTO Registration_Basics (fname, lname, emaddress,   
confirmemaddress, pword, confirmpword) 
VALUES 
('$_POST[fname]','$_POST[lname]','$_POST[emaddress]','$_POST[confirmemaddress]',   
'$_POST[pword]', '$_POST[confirmpword]')"); <---- here 

更新:

新的错误意见后,请有看看http://php.net/manual/en/mysqli.query.php

你的is(mysqli_query($con, $sql)呼叫是不正确的。如果你看一下文档,你应该能够把它弄出来。

猜你想做到这一点:

$sql = "INSERT INTO Registration_Basics (fname, lname, emaddress,   
confirmemaddress, pword, confirmpword) 
VALUES 
('$_POST[fname]','$_POST[lname]','$_POST[emaddress]','$_POST[confirmemaddress]',   
'$_POST[pword]', '$_POST[confirmpword]')"; 

if (!mysqli_query($con, $sql)) 
{ 
    die('Error: ' . mysqli_error($con)); 
} 
+0

谢谢,但现在我得到了这些新的错误:注意:未定义的变量:sql中的C:\ xampp \ htdocs \ TutorialBoy \ registeraction.php on line 13 警告:mysqli_query():C:\ xampp \ htdocs \第13行的TutorialBoy \ registeraction.php –

+0

@DevinSmith,请张贴您的“新错误”。 – vee

+0

谢谢,但现在我得到了这些新的错误:注意:未定义的变量:第13行的C:\ xampp \ htdocs \ TutorialBoy \ registeraction.php中的sql警告:mysqli_query():C:\ xampp \ htdocs \ TutorialBoy中的空查询\ registeraction.php在线13 –

0

此行应该是...

mysqli_query($con,"INSERT INTO Registration_Basics (fname, lname, emaddress,confirmmaddress, pword, confirmpword) VALUES ('$_POST[fname]','$_POST[lname]','$_POST[emaddress]','$_POST[confirmemaddress]', $_POST[pword]', '$_POST[confirmpword]')"); 

你失踪的支架

0

替换查询
$sql = mysqli_query($con,"INSERT INTO Registration_Basics (fname, lname, emaddress,   
confirmemaddress, pword, confirmpword) 
    VALUES 
    ('".$_POST['fname']."','".$_POST['lname']."','".$_POST['emaddress']."','".$_POST['confirmemaddress']."',   
'".$_POST['pword']."', '".$_POST['confirmpword']."') "); 

在将它们插入查询之前,您必须转义所有变量。

+0

谢谢,但现在我得到这些新的错误:注意:未定义的变量:sql中的C:\ xampp \ htdocs \ TutorialBoy \ registeraction。php on line 13警告:mysqli_query():在第13行的C:\ xampp \ htdocs \ TutorialBoy \ registeraction.php中的空查询 –

+0

ok编辑我的答案现在试试吧 –

1

使用的mysqli和参数化查询:

$con=mysqli_connect("localhost", "root", "", "registration_info"); 
//Check Connection 
if (mysqli_connect_errno()) 
{ 
echo die("Failed to connect to MySQL: " . mysqli_connect_error()); 
} 
$query = " 
INSERT INTO Registration_Basics 
(fname, lname, emaddress, confirmemaddress, pword, confirmpword) 
VALUES 
(?,?,?,?,?,?) 
"; 
if ($stmt = mysqli_prepare($con, $query)) { 

    mysqli_stmt_bind_param($stmt, "ssssss", $_POST['fname'], $_POST['lname'],$_POST['emaddress'], 
    $_POST['confirmemaddress'],$_POST['pword'], $_POST['confirmpword']); 

    /* execute query */ 
    mysqli_stmt_execute($stmt); 

    if(mysqli_affected_rows($con) > 0){ 
    echo "Inserted"; 
    }else{ 
    echo "Error:".mysqli_error(). " Error No:". mysqli_errno(); 
    } 
    /* close statement */ 
    mysqli_stmt_close($stmt); 
} 
+0

@Prix:谢谢我明白了:)请编辑它不用谢 – 2013-07-28 23:28:40

相关问题