正文
php数据库查询in php数据库查询语句select中文解决办法
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
thinkphp 数据库查询怎么查?
thinkphp如何查询数据库php数据库查询in?
数据库查询
ThinkPHP内置了非常灵活php数据库查询in的查询方法,可以快速的进行数据查询操作。
查询条件可以用于CURD等任何操作,作为where方法的参数传入即可。
ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。
查询方式
一、使用字符串作为查询条件
这是最传统的方式,但是安全性不高,例如:
1
2
$User = M("User"); // 实例化User对象
$User-where('type=1 AND status=1')-select();
最后生成的SQL语句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用数组作为查询条件
1
2
3
4
5
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查询条件传入查询方法
$User-where($condition)-select();
最后生成的SQL语句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
1
2
3
4
5
6
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR'; //定义查询逻辑
// 把查询条件传入查询方法
$User-where($condition)-select();
最后生成的SQL语句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
三、使用对象方式来查询 (这里以stdClass内置对象为例)
1
2
3
4
5
6
$User = M("User"); // 实例化User对象
// 定义查询条件
$condition = new stdClass();
$condition-name = 'thinkphp';
$condition-status= 1;
$User-where($condition)-select();
最后生成的SQL语句和上面一样
1
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
使用对象方式查询和使用数组查询的效果是相同的,并且是可以互换的,大多数情况下,我们建议采用数组方式更加高效,后面我们会以数组方式为例来讲解具体的查询语言用法。
表达式查询
上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,并且可以用于数组或者对象方式的查询(下面仅以数组方式为例说明),查询表达式的使用格式:
1
$map['字段名'] = array('表达式','查询条件');
表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:
1
2
3
4
$map['id'] = array('eq',100); id = 100;
$map['id'] = array('egt',100);id = 100
$map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查询
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')
本文来自ThinkPHP框架技术文章栏目:
以上就是thinkphp如何查询数据库的详细内容,更多请关注php中文网其它相关文章!
php查询mysql数据库中所有的四级数据以及第四级数据对应的第三级和第二级的名称字段怎么查?
这个需要用程序递归处理
$dept_tree=[];
$deptid = 19;
while($deptid0){
//假设你的数据库查询是这个函数,根据条件直接查询一条记录返回
$dept = getone('department',['id'=$deptid]);
//防止数据丢失出错
if(empty($dept))break;
array_unshift($dept_tree,$dept);
$deptid = $dept['dep_parentid'];
//如果需要防止数据错乱出现递归,这里可以判断一下
if(in_array($deptid,array_column($dept_tree,'id') !== false){
//说明职位关系乱了,有死循环
break;
}
}
可以把这段代码封装成一个函数使用。这里就不论从哪一级开始查询了,总是能把该职位及其上级全部查询出来,按顺序放进数组里
$dept_tree 类似这样
array(
0=array(
'id'=1,
'dep_parentid'=0,
'dep_name'='顶级',
),
1=array(
'id'=2,
'dep_parentid'=1,
'dep_name'='国灿金融',
),
2=array(
'id'=4,
'dep_parentid'=2,
'dep_name'='招聘部',
),
3=array(
'id'=19,
'dep_parentid'=4,
'dep_name'='经理助理',
),
)
PHP在数据库中查询并且显示图片
一般不向数据库插入图片 而是插入图片php数据库查询in的src 通过src找到图片然后显示。
?php
session_start();
//array数组中放图片php数据库查询in的格式
$uptypes = array("image/jpg","image/jpeg","image/png","image/pjpeg","image/gif","image/bmp","image/x-png");
$files =$_FILES["uppic"];
if($files["size"]2097152){ //图片大小判断
echo "上传图片不能大于2M";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'";
exit;
}
$ftype =$files["type"];
if(!in_array($ftype,$uptypes)){ //图片格式判断
echo "上传的图片文件格式不正确";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=pic.php'";
}
$fname = $files["tmp_name"]; //在服务器临时存储名称
$image_info = getimagesize($fname);
$name = $files["name"];
$str_name = pathinfo($name); //以数组的形式返回文件路劲的信息
$extname = strtolower($str_name["extension"]); //把字符串改为小写 extensiorn扩展名
$upload_dir = "upload/"; //upload文件夹
$file_name = date("YmdHis").rand(1000,9999).".".$extname;
$str_file = $upload_dir.$file_name; //文件目录
//存入数据库
$con=mysql_connect("localhost","root","");
if(!$con){
die(("数据库连接失败").mysql_error());
}
mysql_select_db("mywork",$con);
$sql="update user set picpath='$str_file' where user_name='$username'"; //将图片地址插入数据库mywork
mysql_query($sql,$con);
mysql_close($con);
if(!file_exists($upload_dir)){
mkdir($upload_dir); //创建目录 成功则返回true 失败则返回flase
}
if(!move_uploaded_file($files["tmp_name"],$str_file)){ //将上传的文件移动到新的目录 要移动文件和文件新目录 成功则返回true
echo "图片上传失败";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=插入失败后希望跳转的页面";
}
else{
//echo "img src=".$str_file."";
echo "图片上传成功";
echo "meta http-equiv='REFRESH' CONTENT='1;URL=插入成功希望挑战的页面";
}
php中查询数据库的select in语句
这么写当然不行,因为in里面是个字符串你放数组格式就不对
用implode(",", $array)把数组转为字符串就行,不用循环。
用PHP代码如何查询数据库表中的一条记录
我直接在这给你修改答案算了
使用的时候删除行号 修改数据库配置 如果想使用 页面不刷新查询数据库 需要使用JQUERY 如果有需要给我留言
1 ?php
2 if(isset($_POST['submit'])$_POST['submit']=='提交'){
3 //判断是否是提交过来的
4 $intext = $_POST['intext'];
5 if($intext!=null||$intext!=''){
6 $link = mysql_connect("localhost", "root", "123456");
7 //数据库配置信息 第一个参数数据库位置第二个是用户名第三个是密码
8 mysql_select_db("szn_test");
9 //设置要使用的数据库
10 $sql = "select * from demo where res = '".$intext."'";
11 //SQL语句
12 var_dump($sql);
13 $res = mysql_query($sql);
14 $arr = array();
15 //吧结果存入数组 并记录数组长度
16 $count = 0;
17 while($data = mysql_fetch_array($res)){
18 $arr[$count] = $data;
19 $count++;
20 }
21 //关闭数据库
22 mysql_close($link);
23 }
24 }
25
26 ?
27 html
28 head
29 title/title
30 /head
31 body
32 form id="form1" method="post" action="demo.php"
33 input type="text" name="intext"
34 input type="submit" name="submit" value="提交"
35 /form
36 ?php
37 if(isset($arr)$arr != null){
38 for($i = 0; $i $count; $i++){
39 foreach($arr[$i] as $key = $value){
40 echo "key:".$key." value:".$value;
41 echo " ";
42 }
43 echo "br";
44 }
45 }
46 ?
47 /body
48 /html
这个是数据库查询代码 你可以看以下对照着修改修改
php怎么查询两个数据库的内容
你说的是数据库,还是数据表啊。
如果是数据表的话,可以用连接查询。
select a.id,a.username,b.id as bid b.title from 表A a left join 表B b on a.id=b.id
这样就可以了,如果是两个数据库,那就比较麻烦,要创建两个连接对象。再分别打开两个表。再操作。
关于php数据库查询in和php数据库查询语句select中文解决办法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。