Php 通过PDO准备的语句从表返回值数组
我在通过PDO从表中获取数据时遇到问题。下面的代码显示它应该获取一个关联数组,但它返回一个布尔值Php 通过PDO准备的语句从表返回值数组,php,mysql,arrays,pdo,Php,Mysql,Arrays,Pdo,我在通过PDO从表中获取数据时遇到问题。下面的代码显示它应该获取一个关联数组,但它返回一个布尔值 $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); $ps = $pdo->prepare("SELECT * FROM wp_users WHERE user_login = ?"); $ps->execute(array($_GET["user_login"])); $resu
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');
$ps = $pdo->prepare("SELECT * FROM wp_users WHERE user_login = ?");
$ps->execute(array($_GET["user_login"]));
$result = $ps->fetch(PDO::FETCH_ASSOC);
/*extract($result);*/
var_dump($result);
有人能帮我理解如何从数据库返回值数组吗
编辑:下面是实际工作的代码。然而,我试图将其分解以了解其工作原理,然后向“wp_usermeta”表中添加第二个查询,然后学习如何进入下一步并连接表,而不是运行两个查询。我的第一步是在继续编写更多代码之前查看代码的一小部分是如何工作的
include ("theme/header-main.html");
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');
$ps = $pdo->prepare("SELECT * FROM wp_users WHERE user_login = ?");
if (!empty($_GET["user_login"])) {
$ps->execute(array($_GET["user_login"]));
} else {
header('location: index.php');
}
$result = $ps->fetch(PDO::FETCH_ASSOC);
if (is_array($result)) {
extract($result);
include('TESTuser-content.php');
} else {
include('user-content-search.php');
}
include ("theme/footer-main.html");
我是个白痴
代码正常工作,但我通过浏览器字符串传递了不正确的字段名。我当前的数据库使用“用户名”字段,而WordPress使用“用户\登录”。我在代码中对此进行了更改,但仍然在URL中使用以下字符串尝试加载页面。
?用户名=\uuuuuu
很抱歉发布了此消息,但所做的已经完成。感谢所有试图提供帮助的人。我真的非常感谢。返回false意味着出现了问题。请运行
$pdo->errorInfo()
获取错误因为查询似乎是正确的,我会检查:$\u get[“user\u login”]var和pdo数据库连接。请稍等片刻($res=$ps->fetch())print_r($res);检查所有结果。@JordanDoyle当我添加$pdo->errorInfo()时,没有返回任何其他内容。我仍然得到以下返回值,没有错误信息。bool(false)我可能已经发现了这个问题,并将在进行一些测试后在此处进行评论。