我不确定我是否编码错误,或者只是因为我有一个非常大的数据库,我试图从中提取。
我没有收到任何错误,但是页面上没有显示任何内容。有一个大的数据库是一个问题,可能会阻止我找到我的结果。我知道我在数据库里找到的邮政编码在里面 PHPMYADMIN SQL
选项卡。
<?php
$location = $user['location'];
$postcode = DB::query("SELECT * FROM postcodes WHERE Postcode LIKE '%" . $location . "%'");
$longitude = $postcode['Longitude'];
echo $longitude;
?>
我要去接电话 $user['location']
从已加载到和中的查询 echo
页面上的s显示了页面上的邮政编码。
我是新来的 PHP
以及 MYSQL
所以我试着学习,但当它没有给我任何错误,它使我很难寻找我要找的东西。
非常感谢-乔尼·多米特
编辑-表架构
id int(11) NO PRI NULL auto_increment
Postcode varchar(8) NO NULL
Latitude decimal(9,6) NO NULL
Longitude decimal(9,6) NO NULL
编辑-pdo
<?php
class DB{
private static function connect(){
$pdo = new PDO('mysql:host=localhost;dbname=vapoural_wsc;charset=utf8','testing','testing123');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
public static function query($query, $params = array()){
$statement = self::connect()->prepare($query);
$statement->execute($params);
if (explode(' ', $query)[0] == 'SELECT') {
$data = $statement-> fetchAll();
return $data;
}
}
}
?>
编辑-var转储
var_dump($postcode);
产生的结果 array(0) { }
编辑phpmyadmin中的sql
编辑-问题=已修复
这个问题来自于我的数据库,我在那里输入了我的数据。确保通过执行vardump检查您的列,首先查看结果。
1条答案
按热度按时间cidc1ykv1#
你的错误是因为你的变量输入错误
$longitude/$logitude
在数组键中Logitude
.这是一个工作代码,在我的机器上测试。
输出:
输出是我在数据库中插入的随机数据的一个示例。
重要提示:此代码使用一个准备好的语句。您正在查询中使用一个变量,因此请使用一个准备好的语句来避免sql注入。
在我设置的代码中
$location
设置为静态值,以确保提供的代码正常工作。