用PHP读取和显示Sqlite3数据库中的值

用PHP读取和显示Sqlite3数据库中的值,php,sqlite,Php,Sqlite,我正在编写一个应用程序,它将从SQlite3数据库中读取值,并通过webbrowser和PHP显示它们。这对我来说是新的,我已经尝试了好几种方法,但似乎无法让它发挥作用!这些值在数据库中列为实数,应为PARAM_STR <?php $db = new SQLite3('/home/pi/ECE522/test.db'); if(!$db) { echo $db->lastErrorMsg(); } else { echo "Opened

我正在编写一个应用程序,它将从SQlite3数据库中读取值,并通过webbrowser和PHP显示它们。这对我来说是新的,我已经尝试了好几种方法,但似乎无法让它发挥作用!这些值在数据库中列为实数,应为PARAM_STR

<?php
    $db = new SQLite3('/home/pi/ECE522/test.db');
    if(!$db) {
      echo $db->lastErrorMsg();
    } else {
      echo "Opened DATABASE!";
      $query = $db->prepare('SELECT df1, df2 FROM PLCValues');
      $query->bindParm('df1', $df1,PDO::PARAM_STR);
      $query->bindParm('df2', $df2,PDO::PARAM_STR);
      $query->execute();
      var_dump($df1);
      var_dump($df2);
      echo $df1;
      echo $df2;   
   }
?>

在网页上我看到了“打开的数据库”,但没有其他内容


谢谢你的建议

在执行查询之前,您不需要定义$df1和$df2,而是在

$query->bindParm('df1', $df1,PDO::PARAM_STR);
$query->bindParm('df2', $df2,PDO::PARAM_STR);
你真的需要吗? 如果您只想从PLCValues表中选择列“df1”和“df2”中的所有值,我认为您需要如下内容:

$res = $db->query("SELECT df1, df2 FROM PLCValues");
while (($row = $res->fetchArray(SQLITE3_ASSOC))) {
  var_dump($row);
}
$stmt = $db->prepare("SELECT df1, df2 FROM PLCValues WHERE df1=:df1");
$stmt->bindParam(':df1', '[WHAT_YOU_WANT_TO_SELECT]', [YOUR_DATA_TYPE]);
$result = $stmt->execute();
var_dump($result->fetchArray());
有关更多信息,请参阅中的示例


如果要选择具有特定df1的值,我认为需要如下内容:

$res = $db->query("SELECT df1, df2 FROM PLCValues");
while (($row = $res->fetchArray(SQLITE3_ASSOC))) {
  var_dump($row);
}
$stmt = $db->prepare("SELECT df1, df2 FROM PLCValues WHERE df1=:df1");
$stmt->bindParam(':df1', '[WHAT_YOU_WANT_TO_SELECT]', [YOUR_DATA_TYPE]);
$result = $stmt->execute();
var_dump($result->fetchArray());

表中有40个变量。我现在只需要这两个。你能试着使用php文档中的变体吗(见我答案中的链接)?如果您想使用参数,请参阅答案中的链接。如果您想要选择具有特定id的值,我认为您需要这样的内容:如果您想要选择具有特定df1的值,我认为您需要这样的内容:$stmt=$db->prepare(“从PLCValues中选择df1,df2,其中df1=:df1”)$stmt->bindParam(':df1','[您希望选择的内容],[您的数据类型]$结果=$stmt->execute();var_dump($result->fetchArray());见答案的结尾