mysql如何在sql语句中⽤php变量
在框架⾃带的数据库操作不能满⾜项⽬需求的时候,原⽣的sql语句就像是救命稻草。然⽽⾃以为基础的sql
却让我欲仙欲死,眼⾼⼿低的坏处。故在此记录⼀下mysql结合php的例⼦
1、mysql中加php变量,第⼀种⽅法是⽤中括号来区分变量
举个栗⼦:$sql=" select *  from table where city='{$city}' and state='{$state}' ";
括号内即为php的变量。在此我发现也有不同的写法,例如:
。。order by m.dateline DESC limit {$offset},{$page_size}
数字的话,加{}就可以。字符串的话需要带上单引号:'{}',{}代表括号⾥⾯是变量
2、第⼆种⽅法,⽤".$v."来连接:
举个栗⼦:"insert into table_book (bookname,seekwords,author,state,foldername) values ('".$vv.'",5,10,15,20)";需要注意的是,字符串是需要加双引号的,这就涉及到php的基础知识,“双引号
解析变量,单引号不解析变量”。
先讲下单引号和双引号的问题
''单引号 php会把它⾥⾯的内容当成字符串来处理。
""双引号 php会根据⾥⾯的值来处理。⽐如⾥⾯有变量 那么变量的值就会把变量替换。
例⼦
<?php
$a='Hello Word!';
echo'$a';
php如何运行代码
echo"$a";
//这两个输出的结果是不⼀样的
//第⼀个输出就是$a
/
/第⼆个输出Hello Word!
//数据库查询例⼦:
$username='admin';
$sql="select * from user where username='$username'";
{}⼤括号也可以但是也得必须是双引号。但是双引号直接就当变量解析了。所以加不加{}没啥⽤
⽐如:
$condition = "a_size";
$single_size = 30;
$sql_count = "select count(*) as count from foot_info WHERE '$condition' = '$single_size' ";
我这样运⾏,貌似什么也查询不到
但很奇怪,如果我⽤字符串连接成sql语句就可以正常查询,如下
$sql_count = "select count(*) as count from foot_info WHERE".$condition." = '$single_size' ";
/
我⼜输出了上⾯两个sql语句的输出,分别是
select count(*) as count from foot_info WHERE Foot_Size = '30'//可运⾏
select count(*) as count from foot_info WHERE 'Foot_Size' = '30'//不可运⾏
答:把$condition的引号去掉就好。。
php+mysql+like+通配符+变量
三种⽅法:
【⼀】像你这种aa前后都是,⽽且最外侧是双引号的可以直接写变量名
$result= mysql_query("SELECT * FROM table1 WHERE name LIKE '%$var%'");
【⼆】也可以使⽤点连接符对字符串进⾏连接:
$result= mysql_query("SELECT * FROM table1 WHERE name LIKE '%". $var. "%'");
【三】可以使⽤{}代码域来分隔变量名,这种⽤法更适⽤于变量后有数字、字母、下划线的情况,它可以明确地将变量与字符串区分开来:$result= mysql_query("SELECT * FROM table1 WHERE name LIKE '%{$var}%'");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。