0

これは私のコードです:

<?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); 
?> 

しかし、実行すると、次のエラーが発生します。

( Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting ']' in C:\wamp\www\MyProjects\Sign_up.php on line 11) 

修正するのを手伝ってください。

4

5 に答える 5

1

間の引用符を忘れていません[]か?で :( '$_POST[First name]', '$_POST[Last name]', '$_POST[Email_id]','$_POST[Password]')

于 2013-09-22T01:10:05.453 に答える
1

'Password'INSERT クエリで を `Password` に変更します。また、$_POST[First name]機能しません-電話する必要があります:($_POST['First name']引用符付き)

さらに、mysql_*関数を使用することはお勧めしません。これは時代遅れで (赤いボックスを参照)、安全ではありません。代わりに PDO または MySQLi を使用してください。

PDO を使用した例を次に示します。

$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 />';
...
于 2013-09-21T16:53:11.827 に答える