编写PHP Mysql查询

时间:2015-03-15 17:07:58

标签: mysql

我是mysql的新手,我想通过匹配两个值来选择一个列。

这是我的查询

$q = Select column1 from table where column1, column2=2 ;

3 个答案:

答案 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 mysqlihere 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