2016-06-11 159 views
0

我尝试编写get-methods以将数据插入表中。其实,一张桌子一切顺利。看看代码:php mysql不插入数据

<?php 
error_reporting(E_ALL & ~E_DEPRECATED); 

$db_host = "..."; 
$db_user = "..."; 
$db_password = "..."; 
$db_table = "Task"; 

$name = $_GET['Name']; 
$groupId = $_GET['GroupId']; 
$creatorId = $_GET['CreatorId']; 
$comment = $_GET['Comment']; 

$db = mysql_connect($db_host, $db_user, $db_password) OR DIE("DB connection fail..."); 
mysql_select_db("...", $db); 
mysql_query("SET NAMES 'utf8'", $db); 

$result = mysql_query ("INSERT INTO ".$db_table." (Name, Group_ID, Creator_ID, Comment) VALUES ('$name', '$groupId', '$creatorId', '$comment')"); 
$id = mysql_insert_id(); 

header('Content-Type: application/json'); 


if ($result = 'true'){ 
    $response = array('result' => 'OK', 'id' => $id); 
    //setcookie("TaskManagerUser", $id); 
    echo json_encode($response); 
} else{ 
    $response = array('result' => 'FAIL'); 
    echo json_encode($response); 
} 
?> 

但是当我尝试插入到另一个表“组”,没有任何反应。 id在mysql_insert_id()中始终为0;两个表中 主键是AU和独特

<?php 
error_reporting(E_ALL & ~E_DEPRECATED); 

$db_host = "..."; 
$db_user = "..."; 
$db_password = "..."; 
$db_table = "Group"; 

$name = $_GET['Name']; 

$db = mysql_connect($db_host, $db_user, $db_password) OR DIE("DB connection fail..."); 
mysql_select_db("...", $db); 
mysql_query("SET NAMES 'utf8'", $db); 

$result = mysql_query("INSERT INTO ".$db_table." (Name) VALUES ('$name')"); 

$id = mysql_insert_id(); 

header('Content-Type: application/json'); 

if ($result = 'true'){ 
    $response = array('result' => 'OK', 'id' => $id); 
    //setcookie("TaskManagerUser", $id); 
    echo json_encode($response); 
} else{ 
    $response = array('result' => 'FAIL'); 
    echo json_encode($response); 
} 
?>  

回答

0

对于那些,谁决定创建一个表名“集团” - 不要这样做!这是关键。我改了它的名字,它的工作!

+0

你也可以把名字反引号。这就是你如何使用与保留字相同的名称。 – Barmar