php - 简单的 php mysql 查询只返回两列之一

标签 php mysql

我是一名 PHP 和 MySQL 新手,试图针对包含 2 列的表编写一个简单的查询:一列包含文本字符串,第二列包含日期字符串。下面的代码返回第一列(文本字符串)但不返回第二个日期字符串:

<?php
$link = mysql_connect('localhost', 'myuser', 'mypassword');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('archive')or die("cannot select db");
$string = $_POST['keywords'];
$search_query = "SELECT text, date_written FROM archive_table WHERE text LIKE '%$string%'";
$result = mysql_query($search_query,$link);
$rows = mysql_num_rows($result);
if ($rows == 0) {
    echo "sorry, I haven&#8217;t written about ".$string." yet.";
    }
    $count = 0;
    while ($count < $rows) {
        echo mysql_result($result, $count);
        echo "\n\n";
        $count = $count + 1;
    }

mysql_close($link);

?>

我试过用下面的代码替换“echo mysql_result($result, $count);”,但它什么也没有返回:

echo mysql_result($result['text'], $result['date_written'], $count);

我希望这是一个很容易修复的相当简单的语法错误。提前致谢!

最佳答案

  1. 不要使用 mysql_* 函数,因为它们已被弃用且不安全。使用 MySQLi 或 PDO

  2. 您还需要获取结果:

    $query = "blah"
    $result = mysql_query($query);
    
    while($row = mysql_fetch_assoc($result)) {
        echo "{$row['text']}, {$row['date_written]}";
    }
    

关于php - 简单的 php mysql 查询只返回两列之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637825/

相关文章:

php - 如何更改 symfony 2 doctrine 映射器以使用我的自定义目录而不是包下的实体目录

javascript - 无限循环的数字滚动条,直到按下停止按钮

php - 权限被拒绝写入一个目录,但不写入另一个目录——两者具有相同的所有者/组/755

php - 如何使用 PDO 从 MySQL 获取数字类型?

php - 在多级类别应用程序中显示特定类别的产品 php mysql pdo oop

php - jquery .append() 不适用于我的 html

php - Android - 使用 JSON 和 httpurlconnect 发送数据

mysql - 为表 B 中的每个不同值在表 A 中创建行

MySQL 数据库,带有用户创建的带有自定义列号的表

MySQL连接水平与垂直表