2015-10-20 3 views
0

вставить данные из файла в моей базе данных:Как добавить пакет данных в пакет данных в mySQL?

$sql = "INSERT INTO people (id,name,item1) values(?,?,?) "; 
    $q = $pdo->prepare($sql); 

    foreach($data as $row) { 
     $q->execute(array($id, $row['name'], $row['item']); 
    } 

Результат выглядит следующим образом:

╔═════╦═══════╦═════════╦═════════╗ 
║ id ║ name ║ item1 ║ item2 ║ 
╠═════╬═══════╬═════════╬═════════╣ 
║ 12 ║ fred ║ 24C8EI ║   ║ 
║ 12 ║ alan ║ 767CG5 ║   ║ 
║ 12 ║ tom ║ 382F74 ║   ║ 
╚═════╩═══════╩═════════╩═════════╝ 

До этого шага все работает отлично.

Теперь я хочу обновить свою базу данных данными копии файла (чтобы проверить, имеет ли копия тот же контент. Я хочу сравнить более поздние элементы item1 и item2, если это то же самое). Моя попытка не работает:

$sql = "UPDATE people SET item2 = ? WHERE id = 12"; 
$q = $pdo->prepare($sql); 
foreach($data as $row) { 
    $q->execute(array($row['item'], $id)); 
} 

Я думаю, что у меня есть некоторые логические проблемы. Надеюсь, я достаточно объяснил, чтобы понять, чего я хочу достичь.

ответ

0

Удалить id = 12; из вашего query.Because вы передаете два параметра в вашем заявлении выполнить

Было бы

$id=12;// initlize you id 
$sql = "UPDATE people SET item2 = ? WHERE id = ?"; 
$q = $pdo->prepare($sql); 
foreach($data as $row) { 
    $q->execute(array($row['item'], $id)); 
} 
+0

Привет, спасибо, я попытался, как вы сказали, но она до сих пор не работает – Jarla

+0

С какой проблемой вы сталкиваетесь? Возникли ли у вас какие-либо ошибки? – Saty

+0

Здравствуйте, мой результат - белая пустая страница. – Jarla

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