2017-04-11 48 views
0

插入到数据库的麻烦:相对较新的PHP,用从一个SQLite数据库显示结果正常

try { 
    $sql = "INSERT INTO table (name, model, desc, country, privacy) VALUES ('$name', '$model', '$desc', '$country', '$privacy')"; 
    $db->exec($sql); 
      echo "New Record Created Succesfully $sql"; 
    } 
     catch(PDOException $e) { 
      echo $sql . "<br>" . $e->getMessage(); 
} 

输出:

$sth = $db->prepare("SELECT * FROM table"); 
$sth->execute(); 
$result = $sth->fetch(PDO::FETCH_ASSOC); 
print_r($result); 

我遇到的问题是这样的似乎只从数据库打印1行而不是全部,我找到了使用$ stmt - > fetchAll();打印数据库中的所有行,但该数组不适合我,我需要它是关联数组。我通过上面的FETCH_ASSOC代码尝试了一个foreach循环,但它跳过了数据库条目,不确定那里发生了什么?

任何帮助,将不胜感激

Thnx。

+2

你意识到你正在使用的保留字 –

+0

@弗雷德-II-哪个?尽管如果你指的是我插入表格的内容,我为这篇文章稍微编辑了他们的专有名称。他们在我的实际代码中略有不同..下面的Philipp帮助我,而且它现在按预期工作:) – Answer

回答

0

您可以拨打PDOStatement::fetch,直到获得null作为返回值。一个简单的方法来实现,这是一个简单的while循环

while ($result = $sth->fetch(PDO::FETCH_ASSOC)) { 
    print_r($result); 
} 
+0

谢谢!这工作,做一段时间循环,我从未想过。非常感激 – Answer