重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、局部变量
创新互联是一家专注于网站设计、做网站与策划设计,天山网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:天山等地区。天山做网站价格咨询:18982081108
局部变量一般用在sql语句块中,比如存储过程的begin/end。其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了。
局部变量一般用declare来声明,可以使用default来说明默认值。
二、用户变量
用户变量的作用域要比局部变量要广。用户变量可以作用于当前整个连接,但是当当前连接断开后,其所定义的用户变量都会消失。
用户变量使用如下(这里我们无须使用declare关键字进行定义,可以直接这样使用):
select @变量名
对用户变量赋值有两种方式,一种是直接用"="号,另一种是用":="号。其区别在于使用set命令对用户变量进行赋值时,两种方式都可以使用;当使用select语句对用户变量进行赋值时,只能使用":="方式,因为在select语句中,"="号被看作是比较操作符。
变量那里加上花括号({})即可。
$add = "insert into admin(adminid,adminname,password,rolename) values('{$adminid}','{$adminname}','{$password}','{$rolename}')";
把第一行与第二行改为:
$conn = mysqli_connect('localhost','root','root','news');
mysqli_connect的第四个参数就是库名。
在select 语句中赋值给用户变量的语法是 @ var_name := value ,这里的var_name 是变量名,value是正检索的值.
1:变量可以用在以后语句中表达式可用的任何地方,例如where字句或者insert 语句中。
例如select @id :=cust_id from customers where cust_id='customer name';
delete from orders where cust_id = @id;
2:变量的另一个用途是保存在一个auto_increment列的表中 插入新的一行后last_insert_id()的结果
select @last_id :=Last_INSERT_ID();
LAST_INSERT_ID()返回新的AUTO_INCREMENT列值,通过将其保存在变量中,你可以在之后的语句中多次引用该值。
即使发起其他的语句创建他们自身的atuo_increment值,从而改变了last_insert_id()返回的值
3:用户变量拥有单一的值,如果使用返回多行的语句来将值赋给一个变量,那么只有最后一行的值被赋给了该变量。
4:要将一个变量显示地设为一个特定值,使用set语句,set语法可以使用:=或者=来进行赋值
5:set也可以用来将一个select的结果赋给一个变量.