我正在尝试获取MySQL表中具有特定列中特定输入的所有行。 这是我的表:
ID COLOR LENGTH
--- ------- ------
19 red 10
3 green 45
24 blue 54
4 red 3
5 red 11
如何获取"red"
列中存储"COLOR"
的所有行?有人可以帮忙吗?
我是MySQL / PHP的新手,所以如果这是一个愚蠢的问题请原谅我。我试过看了一遍,但我找不到答案
答案 0 :(得分:2)
请参阅mysql_fetch_assoc
(参考:http://de.php.net/mysql_fetch_assoc)。第一个例子为您提供了所需的所有信息。
sql需要替换为:
SELECT * FROM yourtable WHERE color = 'red'
答案 1 :(得分:2)
由于你是新手,我想推荐适当的SQL编码。命名所需的所有列,即使您需要表中存在的所有列。避免使用SELECT * ...
方法。早在今天就养成良好的做法和习惯:
SELECT ID, COLOR, LENGTH FROM table WHERE COLOR = 'red';
如何在PHP中完成工作的一个非常基本的例子:
<?php
# variables you will need. values below are mere examples only
$server = 'localhost';
$database = 'databasename';
$username = 'username';
$password = 'password';
# create database connection
try {
$pdodb = new PDO('mysql:host='.$server.';dbname='.$database, $username, $password);
$pdodb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $ex) {
printf($ex->getMessage());
exit;
}
# use prepared statements, for starters:
$stmt = $pdodb->prepare("SELECT ID, COLOR, LENGTH FROM table WHERE COLOR = ?");
$stmt->bindValue(1, 'red')
$stmt->execute();
# store each row into an array
$resultset = array();
do {
$resultset[] = $onerow;
} while ($onerow = $stmt->fetch(PDO::FETCH_COLUMN));
# to test your resultset:
print_r($resultset); # use this only to display during debugging/testing
?>
以下是可以帮助您入门的文章的链接:
答案 2 :(得分:0)
这是一个偶然的where
条件:
select * from thetable where color = 'red';
答案 3 :(得分:0)
您需要在查询中使用WHERE
子句(documentation)。
SELECT * FROM table WHERE color = 'red'; // red ones
SELECT * FROM table WHERE color != 'red'; // all but the red ones
SELECT * FROM table WHERE color = 'red' OR color = 'blue'; // red and blue
答案 4 :(得分:0)
您可以进行如下查询
$query="select * from <table_name> where <column_name>=<your_input>";
现在使用
运行查询$result="mysql_query($query)";
Atlast编写代码以获取所有数据
while($row = mysql_fetch_array($result)){
//do your operations here i'll store it in array
$arr[]= array("<colum-name"=>$row['<column-name'],....);
}