Advertisement
rfv123

questions/31785723/ - Column name with quote works

Aug 3rd, 2015
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.72 KB | None | 0 0
  1. <?php
  2.  
  3. // db connection
  4. $dsn = 'mysql:host=localhost;dbname=testmysql';
  5. $username = 'test';
  6. $password = 'test';
  7. $options = array(
  8.     PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
  9. );
  10. $dbConn = new PDO($dsn, $username, $password, $options);
  11. $dbConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  12.  
  13. $id = 2;
  14. $txtColData = 'text '. uniqid();
  15.  
  16. $sql = "UPDATE `Table1`
  17.            SET `txt'` = ?
  18.        WHERE `id` = ?";
  19.  
  20.  
  21. $stmt = $dbConn->prepare($sql);
  22. $allOk = $stmt->execute(array($txtColData, $id));
  23.  
  24. var_dump($allOk);
  25.  
  26. // show result
  27. $stmt = $dbConn->prepare("select * from `table1`");
  28. $allOk = $stmt->execute();
  29. $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
  30.  
  31. var_dump($allOk, $result);
  32.  
  33.  
  34. exit;
  35.  
  36. // -------------------------------------------------------------------------
  37. // Sample table and data
  38.  
  39. /*
  40. DROP TABLE IF EXISTS `table1`;
  41.  
  42. CREATE TABLE `table1` (
  43.   `id` int(11) NOT NULL AUTO_INCREMENT,
  44.   `foo` varchar(63) COLLATE utf8_unicode_ci NOT NULL,
  45.   `bar` varchar(63) COLLATE utf8_unicode_ci NOT NULL,
  46.   `txt'` varchar(63) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Contains a quote as part of the name',
  47.   UNIQUE KEY `xxx` (`foo`),
  48.   KEY `id` (`id`)
  49. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  50.  *
  51.  */
  52.  
  53.  
  54. /*Data for the table `table1` */
  55. /*
  56. insert  into `table1`(`id`,`foo`,`bar`,`txt'`) values (1,'foo1','bar1','txt1');
  57. insert  into `table1`(`id`,`foo`,`bar`,`txt'`) values (2,'foo2','bar1','text 3');
  58. insert  into `table1`(`id`,`foo`,`bar`,`txt'`) values (3,'foo3','bar1',NULL);
  59. insert  into `table1`(`id`,`foo`,`bar`,`txt'`) values (4,'foo4','bar1',NULL);
  60. insert  into `table1`(`id`,`foo`,`bar`,`txt'`) values (5,'foo5','bar1',NULL);
  61.  *
  62.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement