2015-12-23 11 views
-1

В SQL команды:MySQL динамической вставки

INSERT INTO table(id,name) VALUES('&id','&name'); 

Считывает значения id, name динамически и вставляет в таблицу.
Я пытался реализовать этот запрос в MySql, но у меня была ошибка.
Каков правильный способ реализации этого запроса в MySql?

+0

какая ошибка вы получаете? –

+0

ошибка: проверьте руководство, соответствующее версии сервера mysql, для правильной systax для использования рядом с '& id', '& name'); –

+0

Выполняете ли вы это непосредственно в MySQL? В PHP? Что-то другое? –

ответ

2

При вставке данных в MySQL через командную строку или инструмент, как Workbench или HeidiSQL, просто используйте:

INSERT INTO table(id,name) VALUES('some-string','some-string'); 

При вводе данных с помощью PHP, рекомендуется использовать PDO и связанные параметры, как так:

<?php 

$db = new PDO('mysql:host=localhost;dbname=test', 'test', 'test'); 
$sql = 'insert into table(id, name) values (:id, :name)'; 

// Notice that we aren't giving any values yet. 
// We are just putting placeholders called :id and :name in the query 

$statement = $db->prepare($sql); 
if ($statement === false) { 
    echo 'statement didnt work'; 
    exit(); 
} 

// get your data from somewhere 
$id = 12; 
$name = 'guru'; 

try { 
    $result = $statement->execute(array(':id'=>$id, ':name'=>$name)); 

    // in the above statement, we execute the statement 
    // during execution we provide a valid id and name to the 
    // placeholders :id and :name, respectively 

    if ($result === false) { 
     $error = $statement->errorInfo(); 
     print_r($error); 
    } 
    else { 
     print_r($result); 
     echo 'Inserted', "\n"; 
    } 
} 
catch (PDOException $e) { 
    echo $e->getMessage(); 
} 

?> 

Надеюсь, это поможет вам перейти к заявлениям о вставке.

+0

i dont know php, поэтому, пожалуйста, объясните это. В sql есть запрос для чтения значений для записей пользователя и вставки в таблицу. В том же запросе mysql не работает –

+1

Похоже, вы ожидаете, что MySQL предложит вам ввести значения. MySQL не будет запрашивать вас. Вам нужно будет использовать язык программирования, такой как C#, Python, php и т. Д., Чтобы имитировать продвижение. – zedfoxus

+1

Вы правы ...! .. На самом деле он отлично работал в sql, поэтому я ожидал, что один и тот же запрос будет работать в mysql, поскольку все остальные запросы работают отлично. Спасибо –

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