很多站长朋友们都不太清楚php查询select,今天小编就来给大家整理php查询select,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP select查询问题 2、 php如何同时获取select值和option值? 3、 PHP 进行SELECT 查询的时候为什么通常要声明空数组? 4、 Php里面,用如何方便的获得一个SELECT查询语句所返回的记录数啊? PHP select查询问题第一个
$sql="SELECT * FROM `userinfo` WHERE `username`=\'$username\' LIMIT 0,30";
问题出在,你没搞清楚PHP中单引号和双引号的转义的细节。也就是你的反斜杠的问题。
很明显,你的$sql语句要生成类似于 ... where username='wuyu' ...
所以,你的两个"\"这个东西是不用要的。
总结:在双引号中的单引号,不用转义,也就是不用反斜杠。
第二个。
这个问题,我只能猜测了。你的mysql_query可能没用对,或者还没用?
因为,你的前一个步奏应该是 mysql_select_db。如果你没有连接错误,mysql_select_db返回true.而你又没用对mysql_query。或者说是可能没用,当然,你的$sql无论如何变化,返回的结果可能是mysql_select_db的结果---true.
另一种可能是,---这种可能比较大。就是你对mysql_query返回的结果处理的不正确。因为查询到结果之后要利用类似于mysql_affect_rows的函数处理,你直接输出结果的话就会是true.
具体的参见手册
“
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE
”
虽然没记录,但是,查询是成功的!
因为,你提供的信息不够。所以,我只能猜成这样了。
第三个,同上。
第四。
你的$username 被$sql“翻译”后,没有引号了----你也知道,SQL语句中的字符串,是要加引号的么,就像你前面(二,三)那样做就对了。
还有不清楚的,请留言
php如何同时获取select值和option值?获取到option的值想实现的效果.比如选择的是值一这个option提交后.要得到"3"和"值一"这两个数据
[php] view plain copy
[html] view plain copy
<select name="select">
<option value="1">select下拉列表框的值</option>
<option value="2">sdfsd</option>
<option value="3">值一</option>
</select>
echo $_POST['select'];
可以在form中添加一个隐藏域<input type="hidden" id="select_content" name="select_content" />然后在提交的时候,先将所选择的值赋值给隐藏域,然后再将form提交。这里说的赋值是用js操作的,当<select name="select" onchange="fuzhi(this.options[this.selectedIndex].text)"> function fuzhi(a){document.getElementById("select_content").value=a;//赋值,咚咚}
PHP 进行SELECT 查询的时候为什么通常要声明空数组?一般我会习惯先
unset($array)
代替声明空数组,避免万一上下文比较长是
global或者引用的值。
可能只是从其他比较严格的语言转过来的程序员的一个好习惯而已。
直接地回答你的问题,是的,在你所贴的代码片段中,这一行注释掉也不会有太大的影响。
唯一的不同是返回值。
如果你用
if(fetch_all($sql))
,当
sql执行没有任何匹配的记录,有初始化的话返回的是一个空数组,但不等同于false
,
能区别于
因为
$query
是false
导致的
retuen
false
。虽然两者很接近,但还是有细微的差别。
效果可见以下的代码
$arr1
=
array();
//$arr2
undefined
$arr3
=
false;
if($arr1===false)
echo
"arr1:true";
else
echo
"arr1:false";
//false
echo
"<br/>";
if($arr2===false)
echo
"arr2:true";
else
echo
"arr2:false";
//false
echo
"<br/>";
if($arr3===false)
echo
"arr3:true";
else
echo
"arr3:false";
//true
echo
"<br/>";
if(is_array($arr1))
echo
"arr1:true";
else
echo
"arr1:false";
//true
echo
"<br/>";
if(is_array($arr2))
echo
"arr2:true";
else
echo
"arr2:false";
//false
echo
"<br/>";
if(is_array($arr3))
echo
"arr3:true";
else
echo
"arr3:false";
//false
Php里面,用如何方便的获得一个SELECT查询语句所返回的记录数啊?SELECT
语句用于从数据库中选取数据。
语句1:SELECT
*
FROM
table_name
解说:意思就是读取整个表table_name里面的数据显示出来
语句1:SELECT
*
FROM
table_name
Where
x
=
1
解说:意思就是读取表table_name里面键名为:x
值为:1的
数据显示出来
例子:
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br /
";
}
mysql_close($con);
?>数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。
这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:
mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:
mysql_query("SET
NAMES
UTF8");
注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
代码如下:
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES 'GBK'");
关于php查询select的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php查询select php查询数据库输出json接口的详细内容...