我是mysql的新手,我想通过匹配两个值来选择一个列。
这是我的查询
$q = Select column1 from table where column1, column2=2 ;
答案 0 :(得分:0)
如果要将特定列的值与给定值匹配,请仅使用WHERE
中的特定列。例如,
$q='Select column1 from table where column2=2';
如果需要,您还可以添加多个列。 E.g。
$q='Select column1 from table where column2=2 AND column3="some other value"';
还要考虑学习SQL。有许多资源可用。这是一个:http://dwbi.org/database/sql
答案 1 :(得分:0)
PHP中有两个主要的数据库API:mysqli_ *和PDO。
不再使用mysql_ *函数 - 它们已被弃用且容易出现安全问题。
对于您的SELECT查询,您的代码在mysqli中看起来像这样(复制http://php.net/manual/en/mysqli-stmt.fetch.php示例并修改它):
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT column1 FROM table WHERE column2 = 2";
if ($stmt = $mysqli->prepare($query)) {
/* execute statement */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($column1);
/* fetch values */
while ($stmt->fetch()) {
printf ("column1=%s\n", $column1);
}
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
使用PDO会类似,但您会在http://php.net/manual/en/pdostatement.fetch.php
上找到一个示例由于SQL似乎是您目前的主要挑战,我强烈建议您使用某种GUI来实时处理您的查询。黄金标准是phpMyAdmin,但也有其他几个。
一旦你开始掌握MySQL,你将开始做更多的查询,最终你会想要根据用户输入进行查询。换句话说,不是查看WHERE column2 = 2
,而是希望用户能够输入他/她是否对2或4或7感兴趣,并根据他们通过表单输入的数据进行查询。当你到达这一点时,绝对确保你使用预准备语句而不仅仅是一个用字符串构建的查询(上面我们只使用了一个字符串)。您可以找到有关如何使用预准备语句here for mysqli和here for PDO的示例。
答案 2 :(得分:0)
您可以在SQL中使用这种语句:
从wanttable中选择wantcolumn,其中column1contents = valuewanted和column2contents = valuewanted
这是一个例子。 您的表名为products,每个产品都有一个ID号(称为ID),Item代码(称为ItemCode)和项名称(称为ItemName),它包含以下数据:
ID ItemCode ItemName
1 123A Screws
2 456B Bolts
现在要根据匹配的两个值选择螺栓,可以使用以下SQL语句:
从ID = 2且ItemCode =&#34; 456B&#34 ;;
的产品中选择ItemName