2016-09-22 74 views
1

Godd night。我有这个代码为PHP添加数据到我的数据库,但我没有得到成功。我无法将数据添加到我的数据库

<?php 
require("config.inc.php"); 
if (!empty($_POST)) { 
$user = $_POST['User']; 
$mail = $_POST['Mail']; 
$token = $_POST['Token']; 
$pass = $_POST['Pass']; 
$result = mysqli_query($con,"SELECT 1 FROM Proteos where 
     User='$user'"); 
$row = mysqli_fetch_array($result); 
$data = $row[0]; 
if($data==0){ 
    echo $data; 
    echo "Hey, un grato saludo mister ".$user."!\n"; 
    $query = "INSERT INTO Proteos (User, Mail) VALUES ($user,$mail) "; 
} 
mysqli_close($con) 

这是我config.inc

<?php 
define('DB_SERVER','mysql.smartfreehosting.net'); 
define('DB_NAME','u178665800_prote'); 
define('DB_USER','u178665800_carin'); 
define('DB_PASS','xxxxxx'); 
$con = mysql_connect(DB_SERVER,DB_USER,DB_PASS); 
mysql_select_db(DB_NAME,$con); 
?> 
+0

放到$用户中,像 '$用户', '$邮件' 单引号$邮件 –

+1

你不执行你的查询$查询。你只是声明查询变量 – Gopalakrishnan

+0

是不是有用的任何建议 –

回答

0

字符串值必须在引号传递。同时执行查询。 要调试使用mysqli_error

$query = "INSERT INTO Proteos (User, Mail) VALUES ('{$user}','{$mail}') "; 
mysqli_query($con,$query); 
or 
mysqli_query($conn, $query) or die(mysqli_error($conn)); 

与mysqli的(ref)在config.inc改变连接

$con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS, DB_NAME); 
+0

它不能帮助我 –

+0

我得到这个“无法输入数据:你的SQL语法有错误;查看与你的MySQL服务器版本相对应的手册以使用正确的语法”或死(mysqli_error( ))'在第1行“。 –

+0

添加了用于打印wrror的插入语法。 PLZ看看 –

0

把你的价值在单引号而不是执行查询

$query = "INSERT INTO Proteos (User, Mail) VALUES ($user,$mail) "; 

$query = "INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') "; 

这通$querymysqli_query

mysqli_query($con,$query); 
+0

它不能帮助我 –

+0

我添加了mysqli而不是mysql。你用mysqli改变了你的config.inc 吗? –

+0

@BrandonPrieto你混合了mysql和mysqli。所以首先检查一下,然后再试一次。 –

0
<?php 
require("config.inc.php"); 


    if (!empty($_POST)) { 
    $user = $_POST['User']; 
    $mail = $_POST['Mail']; 
    $token = $_POST['Token']; 
    $pass = $_POST['Pass']; 
$result = mysqli_query($con,"SELECT 1 FROM Proteos where 
     User='$user'"); 
$row = mysqli_fetch_array($result); 
$data = $row[0]; 
if($data==0){ 
    echo $data; 
    echo "Hey, un grato saludo mister ".$user."!\n"; 
    mysqli_query($con,"INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') ") or die(mysqli_error()); 
} 
mysqli_close($con); 

检查上面的代码之后,值是使用“变种”插入像'$user','$mail' 任何错误显示在查询有助于发现代码or die(mysqli_error())

+0

显示任何错误。它仍然不起作用。 –

+0

我得到这个“无法输入数据:你的SQL语法有错误;检查与你的MySQL服务器版本相对应的手册,以便在第1行使用正确的语法”或者死亡(mysqli_error())“。 –

+0

亲爱的布兰登·普列托,我已经更新了代码,请通过它去。 –

0

您正在将VARCHAR (string)数据插入数据库而没有单引号。

没有单引号的数据被视为表/字段名称或整数或关键字。

您输入的数据不是这些都是导致错误。

更正SQL:

$query = "INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') "; 
相关问题