SQL查询从PHP VS直接SQL数据库查询

SQL查询从PHP VS直接SQL数据库查询

问题描述:

执行的SQL管理器(SQLite的经理)下面的查询,SQL查询从PHP VS直接SQL数据库查询

SELECT ip FROM objects WHERE name="machine4" 

返回预期值,IP地址=“AAAA :: c30c:0 0:4' 。

执行从PHP代码如下相同的查询,

$db=open_database(); 
    $query = $db->exec('SELECT ip FROM objects WHERE name="machine4"'); 
    echo $query; 

回报给值1

有什么从我关于PHP相识逃跑?

p.s .:我确定查询无误地执行,并且它们访问引用相同元素的同一个数据库。

+1

它,因为你不使用某种形式的取环的返回1。或者,我不是在抓这个问题吗?你在寻找能够防止注射或者'aaaa :: c30c:0:0:4'的东西?如果它是SQL注入预防,则使用预准备语句。 – 2014-10-30 19:25:55

+0

正在使用哪个数据库库?什么是'$ db'一个mysqli连接对象?我猜,PDO。 – Ray 2014-10-30 19:26:06

+0

阅读文档真的很难吗? – Overv 2014-10-30 19:26:36

解决,

首先我需要一个对象来获取价值,为此目的执行不会返回一个对象,但数如所提及的那样排成行。而来自php的query命令有一个提取对象。

这是适用于SQLITE3数据库查询的答案:

$db=open_database(); 
$query = $db->query('SELECT ip FROM objects WHERE name="machine4"'); 
if(!$query){ 
    echo $db->lastErrorMsg(); 
} else { 
    $ip=$query->fetchArray(SQLITE3_ASSOC); 
    return $ip['ip']; 

+1

这个答案最好作为一个评论(尽管我知道你不能评论到50代表)为了使这个**好**的答案,你应该添加一些额外的解释和一个简单的工作示例。 – Jakar 2014-10-30 19:33:43