2016-06-29 2 views
0

кодексомне в состоянии сохранить данные в новую таблицу с композитным первичным ключом

require_once 'detect/detect.php'; 
date_default_timezone_set('Asia/Kuala_Lumpur'); 

$fb_id = $_POST['id']; 
$full_name = $_POST['name']; 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 
$date_time = date('Y-m-d H:i:s'); 
$shared = null; 
$redeemed = null; 

$connection = mysqli_connect("server", "username", "password", "db"); 

$sql = "INSERT IGNORE INTO ABC_CAFE (fb_id, full_name, first_name, last_name, email, date_time, shared, redeemed) VALUES ('$fb_id','$full_name','$first_name','$last_name','$email','$date_time','$shared','$redeemed')"; 

mysqli_close($connection); 

Моей таблица создается без данных. Первичный ключ (fb_id, date_time), который не отображается в структуре.

+3

Вы не должны выполнять mysqli_query() заявление также? – geoandri

+2

где вы выполняете свой SQL-запрос? –

+0

Извините, я не специалист по php. Что я должен написать для инструкции mysqli_query()? – Ivan

ответ

0

Попробуйте выполнить mysqli_query(), чтобы выполнить запрос.

попробуйте это.

$connection = mysqli_connect("server", "username", "password", "db"); 
$sql = "INSERT IGNORE INTO ABC_CAFE (fb_id, full_name, first_name, last_name, email, date_time, shared, redeemed) VALUES ('$fb_id','$full_name','$first_name','$last_name','$email','$date_time','$shared','$redeemed')"; 
mysqli_query($connection, $sql); 
mysqli_close($connection); 
+0

Спасибо. Он работает сейчас! Но первичный ключ не создается. – Ivan

2

Чистый способ сделать это:

$mysqli = new mysqli("server", "username", "password", "db"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connectiuon Error: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$stmt = $mysqli->prepare("INSERT IGNORE INTO ABC_CAFE (fb_id, full_name, first_name, last_name, email, date_time, shared, redeemed) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); 

$stmt->bind_param('isssssss', $fb_id, $full_name, $first_name, $last_name, $email, $date_time, $shared, $redeemed); 

/* execute prepared statement */ 
$stmt->execute(); 

$mysqli->close(); 
+0

Исправлено. Спасибо ! –

Смежные вопросы