php脚本返回包含单词的每一行

时间:2015-01-11 03:56:42

标签: php mysql arrays search

这个php脚本返回mySQL数据库中的每一行:

<?php

$host = "host_name";
$db = "database_name"; 
$user = "user_name";
$pass = "password";

$connection = mysql_connect($host, $user, $pass);

//Check to see if we can connect to the server
if(!$connection)
{
    die("Database server connection failed.");  
}
else
{
    //Attempt to select the database
    $dbconnect = mysql_select_db($db, $connection);

    //Check to see if we could select the database
    if(!$dbconnect)
    {
        die("Unable to connect to the specified database!");
    }
    else
    {
        $query = "SELECT * FROM farmer";
        $resultset = mysql_query($query, $connection);

        $records = array();

        //Loop through all our records and add them to our array
        while($r = mysql_fetch_assoc($resultset))
        {
            $records[] = $r;        
        }

        //Output the data as JSON
        echo json_encode($records);
    }


}

&GT;

此脚本运行良好但返回每一行。

让我们说我的数据库包含农民的名字和他们的农产品类型。第一列是&#34; id,第二列是&#34; farmer_name&#34;,第三列是#34;产生&#34;。产品是这样输入的:豆类,玉米,生菜,草莓,西红柿。

我想要做的是更改上面的脚本,使其只返回包含种植玉米的农民姓名的行,以及他们种植的所有类型的农产品。因此,只要农民种植玉米,我就不会想要这个名字,而是所有产品的清单。

这是否可能基于数据库的结构方式?我用针/干草堆做了几次尝试,但空手而归。我对php知之甚少。

2 个答案:

答案 0 :(得分:0)

就像使用WHERE

一样简单
$query = "SELECT * FROM farmer WHERE produce = 'corn'";

请注意mysql_功能已被删除

答案 1 :(得分:0)

SELECT `farmer_name`, `produce` FROM `farmer` WHERE `produce` LIKE '%corn%'

这将返回在产品领域中任何地方找到玉米的行。