Попытка построить динамическую строку PHP mysql_query для обновления строки и возврата обновленной строки - PullRequest
3 голосов
/ 18 июня 2010

У меня есть форма, которая jQuery отслеживает событие onChage .change(), поэтому, когда что-то изменяется, он запускает запрос ajax, и я передаю столбец, id и значения в URL.

Здесь у меня есть код PHP, который должен обновить данные.

Мой вопрос сейчас, как я могу построить строку mySQl динамически. и как мне вернуть изменения / обновления, которые только что изменились на БД.

Вот код PHP, с которым я пытаюсь работать.

<?php require_once('Connections/connect.php'); ?>

 <?php  
    $id = $_GET['id'];
    $collumn = $_GET['collumn'];
    $val = $_GET['val'];
 ?>


<?php 
    mysql_select_db($myDB, $connection);

  // here i try to build the query string and pass in the passed in values
   $sqlUpdate = 'UPDATE `plProducts`.`allPens` SET `$collumn` = '$val' WHERE `allPens`.`prodId` = '$id' LIMIT 1;';

  // here i want to echo back the updated row (or the updated data) 
  $seeResults = mysql_query($sqlUpdate, $connection);
  echo  $seeResults
?>

этот пример в порядке?

$sqlUpdate = 'UPDATE `plProducts`.`allPens` SET "{$collumn}" = "{$val}" WHERE `allPens`.`prodId` = "{$id}"LIMIT 1;';

1 Ответ

3 голосов
/ 18 июня 2010

Используйте оператор конкатенации строк ..

$sqlUpdate = 'UPDATE `plProducts`.`allPens` SET `' . $collumn .'` = \'$val\' WHERE `allPens`.`prodId` = '. $id . ' LIMIT 1;';
mysql_query(mysql_escape_string($sqlUpdate));

Конечно, здесь представлено множество SQL-инъекций лазеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...