2016-04-10 63 views
2

我有一个简单的PHP代码插入数据到MySQL数据库,但它给我一个解析错误。在PHP解析错误INSERT查询

错误:

Parse error: parse error in /Users/Navs13/Desktop/RS/code.php on line 17 what might be the problem. find the code below.

<?php 
$servername = "localhost"; 
$username = "admin"; 
$password = "pwd"; 
$dbname = "testdb"; 

// Create connection 
$conn = mysql_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysql_error()); 
} 

$x=10; 
//VALUES ('$_POST[x]')"; 
//echo $_POST[x]; 

$sql = "INSERT INTO test (disliked)" 
    ."VALUES ($x)"; 
if (mysql_query($sql, $conn) === TRUE) { 
    echo "New record created successfully"; 
} else { 
echo "Error: " . $sql . "<br>" . mysql_error(); 
} 

mysql_close($conn); 
?> 

回答

0

你需要周围的PHP变量单引号和反勾对SQL相关的名称:

$sql = "INSERT INTO `test` (`disliked`) VALUES ('$x')"; 

注:mysql_*功能已经过时,用mysqli_*代替:

$conn = mysqli_connect($servername, $username, $password, $dbname); 

if (!$conn) { 
    die("Connection failed: " . mysqli_error($conn)); 
} 

$x=10; 

$sql = "INSERT INTO `test` (`disliked`) VALUES ('$x')"; 

if (mysqli_query($conn, $sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 

mysqli_close($conn); 
+0

感谢这工作对我:) – navs89

+0

@ navs89不客气!谢谢 :) – Panda

2

试试这个:

$sql = "INSERT INTO test (disliked) VALUES ('".$x."')" or die(mysql_error()); 
1

在你的情况,你可以试试这个

$query = "INSERT INTO test (disliked) values('$x');"; 
    if (!mysql_query($query, $conn)) { 
     die('Error: ' . mysql_error()); 
    } 

我的项目,下面的代码工作得很好:

$q1 = "INSERT INTO users (username,email,password,state) values('$username','$email','$password',1);"; 
if (!mysql_query($q1, $conn)) { 
    die('Error: ' . mysql_error()); 
} 

PS: mysql_connect and mysql_query are deprecated。最好使用mysqli_connectmysqli_query