phpsql语句变量
不行的,变量是要加大括号的,或者使用字符串连接符连接2个字符串。
1如果你的$meal是一个变量、mealnum是字符型的数据的列,就这样写:
$result = mysql_query("SELECT * FROM {$res} WHERE mealnum=‘{$meal}’");
2如果你的$meal是一个变量、mealnum是数字型的数据的列,就这样写:
$result = mysql_query("SELECT * FROM {$res} WHERE mealnum={$meal}");注意大括号外没单引号。
3如果你的$meal就职一个字符串、mealnum是字符型的数据的列,就这样写:
$result = mysql_query("SELECT * FROM {$res} WHERE mealnum=‘\$meal’");
4如果你的$meal就职一个字符串、mealnum是数字型的数据的列,那么就会错误了;
另外:
你已经说了$meal是一个字符型,所以就必须加两个单引号,如果是数字型就不需要单引号。
❷ 请教高手,PHP中sql语句如何使用变量。
先讲下单引号和双引号的问题
''单引号 php会把它里面的内容当成字符串来处理。
""双引号 php会根据里面的值来处理。比如里面有变量 那么变量的值就会把变量替换。
例子
<?php
$a='HelloWord!';
echo'$a';
echo"$a";
//这两个输出的结果是不一样的
//第一个输出就是$a
//第二个输出HelloWord!
//数据库查询例子:
$username='admin';
$sql="select*fromuserwhereusername='$username'";
{}大括号也可以但是也得必须是双引号。但是双引号直接就当变量解析了。所以加不加{}没啥用
❸ PHP 如何再SQL语句中加入变量
你说的只是php代码中可能会允许你使用注入语句,但是一般来说,网站防注入都是在链接数据库的类中加入了转换,也就是说把注入语句的关键字都加上了转义字符。比如你遇到的这种情况,就是被防注入了。
关于你这个问题:
问:输入框中的SQL语句应该如何写?
条件:数据库表、字段全已知,输入框长度不限。
我只能跟你说,你可以在输入框中加入;,/这种符号,让语句解析的时候出现问题,让php把sql语句拼合成两个或两个以上。这样你就可以在第二条语句之后加入你想要执行的命令了。
如果这种方法没有效果,你只能使用溢出的方式来注入!
❹ php sql语句与变量到底怎么拼接
要考虑到字符串本身是要用引号括住的,所以要这样:
$sql = "insert into users (slug,email,`password`,nickname) values ('".$slug."','".$email."','".$password."','".$nickname."')";
或者
$sql = "insert into users (slug,email,`password`,nickname) values ('$slug','$email','$password','$nickname')";
❺ php中sql语句中如何使用变量
外面的引号要用双引号,但$biao就得用``来引起来,或者不用,即:
$result=mysql_query("select * from `$biao`");
或者
$result=mysql_query("select * from $biao");
这两种都可以。
❻ php中的sql语句
1、很多时候我们在开发时需要将字符串与变量连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号" . " , " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:
<?php
$name="网络知道:";
$url=".";
echo$name.$url.".com";
?>
输出结果为:
网络知道:..com
2、php在进行数据库查询时,如果对象是字符串,则需要使用引号将字符串区分开,这就是上面你的第一个问题,例如,你通过POST接受到的$username值是"zhanagsan",那么:
mysqli_query($conn,"SELECT*FROMuserWhereusername='".$username."'");
php在进行解析时就是
mysqli_query($conn,"SELECT*FROMuserWhereusername='zhangsan'");
如果你觉得这样会让你有点看不过来,还可以这样写:
mysqli_query($conn,"SELECT*FROMuserWhereusername='{$username}'");
这里的{}也是起到连接的作用。
3、应用字符串连接符号有时候没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果(这是你的第二个问题)。例如:
<?php
$name="网络知道:";
$url=".";
echo"$name$url.com";//双引号里的变量同一般的字符串自动进行区分
?>
但是单引号(' ')就不可以了,这样如果不加连接符,解析后还是字符串,例如:
<?php
$name="网络知道:";
$url=".";
echo'$name$url.com';//单引号里的变量不会同一般的字符串自动进行区分
?>
最终的输出结果就变成了
$name$url.com//最终只是输出变量名,是字符串
❼ php 怎样给 sql 语句变量赋值!
第一种:数组
$allbrand=array();
while($testingrow=mysqli_fetch_array($testingquery)){
$allbrand[]=$testingrow[2];
}
第二种:字符串
$allbrand='';
while($testingrow=mysqli_fetch_array($testingquery)){
$allbrand.=$testingrow[2]."";
}
请采纳,谢谢
❽ php语言中sql语句里面变量为什么需要一个单引号和一个双引号啊
loginname
指的就是一个变量名<与数据库里的字段匹配>,
而'"+login1.username+"'
就是你输入的值,
假如只有单引号,系统会认为变量就是login1.username,
而这个值是固定的,然而我们需要的是一个变量,
所以就得再加一个双引号,
至于
‘+’
就是连接字符串的意思、、、
❾ php中sql语句带变量的问题
不行的,变量是要加大括号的,或者使用字符串连接符连接2个字符串。
1如果你的$meal是一个变量、mealnum是字符型的数据的列,就这样写:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=‘{$meal}’");
2如果你的$meal是一个变量、mealnum是数字型的数据的列,就这样写:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum={$meal}");注意大括号外没单引号。
3如果你的$meal就职一个字符串、mealnum是字符型的数据的列,就这样写:
$result
=
mysql_query("select
*
from
{$res}
where
mealnum=‘\$meal’");
4如果你的$meal就职一个字符串、mealnum是数字型的数据的列,那么就会错误了;
另外:
你已经说了$meal是一个字符型,所以就必须加两个单引号,如果是数字型就不需要单引号。