SELECT MySQL查询命令
现在数据库中已经有了数据。如果我们要从中获取数据,我们需要SELECT命令。抓取数据的选择有多个。
第一, 从数据库中抓取整个数据表
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> SELECT * FROM `tablename` |
这里的PHP脚本用来解释这一示例。该脚本将整个MySQL数据包抓取出来并将其显示在你的浏览器中。
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> < ?php //Step 1 Connect to database $username = “Your MySQL username here”; $password = “Your MySQL password”; $hostname = “Hostname”; $table = “MySQL Table name where the data will be inserted”; $database = “The name of the MySQL database which holds the table”; $dbhandle = mysql_connect($hostname, $username, $password) or die(”Unable to connect to MySQL”); $selected = mysql_select_db($database,$dbhandle) or die(”Could not select $database”); //Step 2. Insert other PHP scripts here (such as grabbing data from HTML forms, etc) //Step 3. Sanitize variables before inserting to database. This will prevent MySQL injection. $categories_id = mysql_real_escape_string(stripslashes($categories_id)); $language_id = mysql_real_escape_string(stripslashes($language_id)); $categories_name = mysql_real_escape_string(stripslashes($categories_name)); $result = mysql_query(”SELECT * FROM `categories_description`”) or die(mysql_error()); echo ‘< table border=”1″>’; echo ‘< tr>’; echo ‘< td>< b>Categories ID< /b>< /td>’; echo ‘< td>< b>Language ID< /b>< /td>’; echo ‘< td>< b>Categories Name< /b>< /td>’; echo ‘< /tr>’; while($row = mysql_fetch_array($result)){ echo ‘< tr>’; echo ‘< td>’.$row[‘categories_id’].'< /td>’; echo ‘< td>’.$row[‘language_id’].'< /td>’; echo ‘< td>’.$row[‘categories_name’].'< /td>’; echo ‘< /tr>’; } echo ‘< /table>’; ?> |
这样在HTML浏览器中会显示出该表格,像这样:
第二种是从MySQL表格的指定域名中提取指定数据。当你需要从满足特定条件的指定域名中提取指定数据的时候,如:我们需要提取客户邮件地址的时候如果他们也能准确提供用户名和密码。那么在表格中就存在三个域:用户名,密码,电子邮件地址。那么要在MySQL表格中提取客户电子邮件地址,PHP查询可以是:
在PHP MySQL查询中,WHERE陈述指定了邮件地址匹配特定用户名和密码的条件。
你可以用一些AND语句来查询MySQL。
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> < ?php //Connect to database… //Sanitize the variables.. //MySQL query $result = mysql_query(”SELECT `emailaddress` FROM `customertable` WHERE `username`=’$username’ AND `password`=’$password'”) or die(mysql_error()); $row = mysql_fetch_array($result) or die(”Invalid query: ” . mysql_error()); $emailaddress = $row[’emailaddress’]; echo “Your email address is: $emailaddress”; ?> |
UPDATE MySQL查询命令
PHP中最重要的MySQL查询之一还有UPDATE。如命令所示,它可以让你更新MySQL表格中的记录,而不需要再次插入一行。
例如,假设你拥有下表:
假设Peter Patter要将密码从”logan”改成”weaponx”,那么使用UPDATE的MySQL查询应该是:
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ –> < ?php //Step 1 Connect to database $username = “yourusername”; $password = “yoursqlpassword”; $hostname = “localhost”; $table = “usertable”; $database = “userdatabase”; $dbhandle = mysql_connect($hostname, $username, $password) or die(”Unable to connect to MySQL”); $selected = mysql_select_db($database,$dbhandle) or die(”Could not select $database”); //Initial variables $username = ‘wolverine’; $fullname = ‘Peter Patter’; //Set new password for Peter Patter $newpassword = ‘weaponx’; //sanitize $newpassword = mysql_real_escape_string(stripslashes($newpassword)); $username = mysql_real_escape_string(stripslashes($username)); $fullname = mysql_real_escape_string(stripslashes($fullname)); //Update records in MySQL database mysql_query(”UPDATE usertable SET password = ‘$newpassword’ WHERE username = ‘$username’ AND fullname = ‘$fullname'”) or die(mysql_error()); echo ‘The database has been updated. Thank you’; ?> |
上面的更新脚本会将Peter Patter的密码从 “logan”改成”weaponx”。上面的脚本只是一个示范,你可以用上面的脚本和HTML表单结合,这样可以创建更多的互动性更新数据。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
2017年5月数据库流行度排行榜 MySQL与Oracle“势均力敌”
数据库知识网站DB-engines.com最近更新了2017年5月的数据库流行榜单。TechTarget继续与您一起分享最新的榜单情况。
-
2017年3月数据库流行度排行榜 Oracle卫冕之路困难重重
时隔一个月,数据库市场经过一轮“洗牌”,旧的市场格局是否会被打破,曾经占巨大市场份额的企业是否可能失去优势?