2016-09-22 5 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) 

는 그리고이

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

문자열 값은 따옴표로 전달 될 필요가 내 config.inc입니다. 또한 쿼리를 실행하십시오. 디버그 사용하려면 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)); 

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

그것은 나를 도울 수 없습니다 –

+0

"데이터를 입력 할 수 없습니다 : 당신은 SQL 문법에 오류가있어서 오른쪽 문법을 사용하기 위해 MySQL 서버 버전에 해당하는 설명서를 확인하십시오 '또는 죽을 수 있습니다 (mysqli_error (mysqli_error)) 'at line 1'. –

+0

에는 wrror 인쇄와 함께 삽입하기위한 구문이 추가되었습니다. PLZ는 모양을 가지고 –

0

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

을에 쿼리를 실행 따옴표에 값을 넣어보다 mysqli config.inc에서 ( ref) 변화와 연결
$query = "INSERT INTO Proteos (User, Mail) VALUES ('$user','$mail') "; 

그리고

mysqli_query($con,$query); 
+0

도와 드릴 수 없습니다 –

+0

mysqli not 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); 

체크 위의 코드와 같은 mysqli_query 해당 패스 $query 후이 값은 쿼리 코드 or die(mysqli_error())

+0

오류가 표시되었습니다. 그리고 여전히 작동하지 않습니다. –

+0

"데이터를 입력 할 수 없습니다 : SQL 구문에 오류가 있습니다. 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 1 행에서 mysqli_error() 또는 die (mysqli_error())를 사용하십시오. –

+0

Brandon Prieto 님, 코드를 업데이트했습니다. 통과 해주십시오. –

0
을 찾는 데 도움에 오류가 표시 '$user','$mail' 같은 'var에'를 사용하여 삽입있다

VARCHAR (string) 데이터를 작은 따옴표없이 데이터베이스에 삽입합니다.

작은 따옴표가없는 데이터는 테이블/필드 이름 또는 정수 또는 키워드로 간주됩니다.

입력 한 데이터가 잘못되어 오류가 발생합니다.

수정 SQL :

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