相关疑难解决方法(0)

如何使用PDO在PHP中获取结果数组?

我只是在阅读了SQL注入攻击后编辑了我的搜索脚本.我正在尝试使用PDO而不是常规的mysql连接从我的脚本中获取相同的功能.所以我一直在阅读有关PDO的其他帖子,但我不确定.这两个脚本会提供相同的功能吗?

使用PDO:

$pdo = new PDO('mysql:host=$host; dbname=$database;', $user, $pass);
$stmt = $pdo->prepare('SELECT * FROM auction WHERE name = :name');
$stmt->bindParam(':name', $_GET['searchdivebay']);
$stmt->execute(array(':name' => $name);
Run Code Online (Sandbox Code Playgroud)

使用常规mysql:

$dbhost = @mysql_connect($host, $user, $pass) or die('Unable to connect to server');

@mysql_select_db('divebay') or die('Unable to select database');
$search = $_GET['searchdivebay'];
$query = trim($search);

$sql = "SELECT * FROM auction WHERE name LIKE '%" . $query . "%'";



if(!isset($query)){
echo 'Your search was invalid';
exit;
} //line 18

$result = mysql_query($trim);
$numrows = mysql_num_rows($result);
mysql_close($dbhost);
Run Code Online (Sandbox Code Playgroud)

我继续使用常规示例 …

php mysql pdo

27
推荐指数
2
解决办法
15万
查看次数

如何在PDO fetchAll中正确使用while循环

请对我很轻松,我刚刚开始学习PDO,并且仍然找到了如何将我的mysqli转换为PDO的方法.

所以我有一个函数来从我的数据库中获取内容

function getContent() {
    $db = PDOconn();
    $query = "SELECT * FROM posts ORDER BY id DESC LIMIT 0,3";
    $sql = $db->prepare($sql);
    $row = $sql->fetchAll(PDO::FETCH_ASSOC);

    return $row;
}
Run Code Online (Sandbox Code Playgroud)

通常当我$row在mysqli中返回时,我会fetch_assoc()在我的while循环中定义.

while ($row = $result->fetch_assoc())  {
    $id = $row['id'];
    $content = $row['content'];
}
Run Code Online (Sandbox Code Playgroud)

现在,因为(PDO::FETCH_ASSOC)已经在我的函数中声明了.

如何正确创建我的while循环以在PDO中打印值?

[编辑]更新的代码

我将while在函数之外声明我的循环.所以我需要一些东西从我的功能返回,但我不知道那是什么..

function getContent() {
    $db = PDOconn();
    $query = "SELECT * FROM posts ORDER BY id DESC LIMIT 0,3";
    $sql = $db->prepare($query);
    $row = $sql->execute(); …
Run Code Online (Sandbox Code Playgroud)

php pdo

18
推荐指数
1
解决办法
5万
查看次数

将mysql_fetch_array转换为PDO :: FETCH_NUM

PDO中这两个代码的等价物是什么

第一:

  $row=mysql_fetch_array($query);
Run Code Online (Sandbox Code Playgroud)

第二:

 while($row=mysql_fetch_array($query)){
   $data[]=$row;
 }
Run Code Online (Sandbox Code Playgroud)

我在下面使用这些代码,但我猜它们并不完全相同,因为其余代码不起作用.

$row = $query->fetch(PDO::FETCH_NUM);
Run Code Online (Sandbox Code Playgroud)

 $data[] = $query->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

pdo ×3

php ×3

mysql ×2