脚本宝典收集整理的这篇文章主要介绍了如何使用php在字符串中转义单引号(撇号),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$stmt = $pdo->PRepare( "SELECT * From `products_keywords` WHERE `product_tyPE` = '" . $product_type . "' ");
我不知道$product_type变量中的值是多少.但是现在,我在$product_type变量中得到Men’s Shirt,这导致我的SQL查询中出现语法错误.我确定这个错误是由于Men’s Shirt值的单引号引起的.我如何根据我的查询来逃避这个值?以及如何检查我的$product_type变量中是否有单引号然后根据我的查询转义它.提前致谢.
$stmt = $pdo->prepare( "SELECT * From `products_keywords` WHERE `product_type` = ?");
这是使用预备声明的重点.然后你bind的参数如下:
$stmt->bindParam(1,$product_type)
证明,
架构:
create table `products_keywords` ( `id` int not null,`products_keywords` vArchar(1000) not null,`product_type` VARchar(100) not null ); insert `products_keywords` (`id`,`products_keywords`,`product_type`) values (1,'zoom lawn cut mower',"Lawn Mower"),(2,'stylish torso Polo','Men\'s Shirt');
查看数据:
select * from `products_keywords`; +----+---------------------+--------------+ | id | products_keywords | product_type | +----+---------------------+--------------+ | 1 | zoom lawn cut mower | Lawn Mower | | 2 | stylish torso Polo | Men's Shirt | +----+---------------------+--------------+
PHP:
<?PHP // turn on error reporting,or wonder why nothing is happening at times error_reporting(E_ALL); ini_set("display_errors",1); $servername="localhost"; $dbname="so_gibberish"; $username="nate123"; $password="openSesame1"; try { $pdo = new PDO("MysqL:host=$servername;dbname=$dbname",$username,$password); $pdo->setattribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $product_type="Men's Shirt"; $stmt = $pdo->prepare("SELECT * FROM `products_keywords` WHERE `product_type` = ?"); $stmt->bindParam(1,$product_type); $stmt->execute(); while($row = $stmt->fetch()) { echo $row['id'].",".$row['products_keywords'].",".$row['product_type']."<br/>"; } } catch (PDOException $e) { echo 'pdo problemo: ' . $e->getMessage(); // dev not production code exIT(); } ?>
浏览器:
以上是脚本宝典为你收集整理的如何使用php在字符串中转义单引号(撇号)全部内容,希望文章能够帮你解决如何使用php在字符串中转义单引号(撇号)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。