PHP分割查询 php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我刚开始学习PHP,请多指教。 $str = "0213,0214,0318,0419,0196";$exp = explode(',', $str);foreach ($exp as $value) { $sql = "SELECT count(*) count FROM test WHERE bh = '".$value."'"; $query = mysql_query($sql); $result = mysql_fetch_row($query); if($result['count'] > 0){//存在 echo '存在'; }else{ echo '不存在'; }} bh字段是放什么的,多个数还是一个数?如果是放一个数的,microlab2009已经给出答案了。 $str = '0213,0214,0318,0419,0196';$arr = explode($str,',');foreach($arr as $key => $value){ $sql = sprintf('select count(*) from test where bh=%s',$value); $query = mysql_query($sql); $r = mysql_fetch_rows($query); if($r['count'] > 0) echo "$value存在"; else echo "$value不存在";} $str = '0213,0214,0318,0419,0196';$arr = explode($str,',');foreach($arr as $key => $value){ $sql = sprintf('select count(*) from test where bh="%s"',$value); $query = mysql_query($sql); $r = mysql_fetch_rows($query); if($r['count'] > 0) echo "$value存在"; else echo "$value不存在";} 表test 结构:id pa bh 1 11 02132 12 0214 3 13 03184 14 0419 多个数 另外一种方法,不用foreach扫库,用PHP处理。$link = mysql_connect('localhost', 'user', 'passwd');mysql_select_db("dbname");//mysql_query("SET SESSION group_concat_max_len=2048");//group_concat有长度限制,也可以在my.ini中设置$bhs = '0213,0214,0318,0419,0196';//有字符串需要处理下。看IN$result = mysql_query("SELECT GROUP_CONCAT(bh) AS bhs FROM sipa_users WHERE user_id IN ({$bhs})");$exists = mysql_fetch_object($result)->bhs;var_dump($exists);//存在的$noexists = array_diff(explode(',',$bhs),explode(',',$exists));//不存在的取下差集var_dump($noexists); 那之前给的方法可行啊 报什么错误了吗?根据您给我的方法,我稍作改动成:$bmh= "0213,0214,0318,0419,0196";$exp = explode(',', $bmh);foreach ($exp as $value){$sql=mysql_query("select * from xs where bh='".$value."'",$conn); $num= mysql_num_rows($sql); if(!$num){ echo $value . ' 不存在 '; }现在问题是 如果全部存在的话 怎么分别显示出来对应表test bh字段的id和pa数据 需要while 吗? 如何在用户在文件域中选择了对应的图片后,马上可以在网页上显示出来? 如何使php前台页面弹出一个提示框 紧急求助:关于插入记录时的字符集的问题 Linux系统下能否实现以下这个功能 外网访问虚拟机下的linux中的php网站 SmartTemplate解析模版时的语言包分离问题 为什么连接到本地的mssql一直不可以用 谁知道目前较好用的:php编缉、调试器。 发现PHP的一个问题,不知道解决方法怎样. 怎么用 PHP 访问sql2000数据库 有php代码不知道如何运行 php访问win7共享文件夹的问题。
$exp = explode(',', $str);
foreach ($exp as $value) {
$sql = "SELECT count(*) count FROM test WHERE bh = '".$value."'";
$query = mysql_query($sql);
$result = mysql_fetch_row($query);
if($result['count'] > 0){//存在
echo '存在';
}else{
echo '不存在';
}
}
如果是放一个数的,microlab2009已经给出答案了。
$str = '0213,0214,0318,0419,0196';
$arr = explode($str,',');
foreach($arr as $key => $value){
$sql = sprintf('select count(*) from test where bh=%s',$value);
$query = mysql_query($sql);
$r = mysql_fetch_rows($query);
if($r['count'] > 0)
echo "$value存在";
else
echo "$value不存在";
}
$str = '0213,0214,0318,0419,0196';
$arr = explode($str,',');
foreach($arr as $key => $value){
$sql = sprintf('select count(*) from test where bh="%s"',$value);
$query = mysql_query($sql);
$r = mysql_fetch_rows($query);
if($r['count'] > 0)
echo "$value存在";
else
echo "$value不存在";
}
id pa bh
1 11 0213
2 12 0214
3 13 0318
4 14 0419 多个数
$link = mysql_connect('localhost', 'user', 'passwd');
mysql_select_db("dbname");
//mysql_query("SET SESSION group_concat_max_len=2048");//group_concat有长度限制,也可以在my.ini中设置$bhs = '0213,0214,0318,0419,0196';//有字符串需要处理下。看IN
$result = mysql_query("SELECT GROUP_CONCAT(bh) AS bhs FROM sipa_users WHERE user_id IN ({$bhs})");
$exists = mysql_fetch_object($result)->bhs;
var_dump($exists);//存在的$noexists = array_diff(explode(',',$bhs),explode(',',$exists));//不存在的取下差集
var_dump($noexists);
$exp = explode(',', $bmh);
foreach ($exp as $value){
$sql=mysql_query("select * from xs where bh='".$value."'",$conn);
$num= mysql_num_rows($sql);
if(!$num){
echo $value . ' 不存在 ';
}现在问题是 如果全部存在的话 怎么分别显示出来对应表test bh字段的id和pa数据 需要while 吗?