我正在尝试使用 php 中的 phpmyadmin 测试从数据库表输出数据。由于某种原因,它无法正常工作,但不涉及任何错误。我在这里做错了什么?
这是我的数据库的图片:
注意:此数据库中填充了虚假信息,未使用真实电子邮件地址。
这是我的代码:
<?php
include "cs234DbConnect.inc.php";
$dbc = mysqli_connect(DBHOST, DBUSER, DBPWD, DBNAME);
$error = mysqli_connect_error();
if($error != null){
$output= "<p> Unable to connect to database<p>" . $error;
exit($output);
}
$query = mysqli_query($dbc, "SELECT * FROM site7_customers WHERE FirstName = 'Leonie'") or die(mysqli_error($dbc));
while($rows = mysqli_fetch_array($query)){
$FirstName = $rows['FirstName'];
$LastName = $rows['LastName'];
$Email = $rows['Email']
echo "$FirstName $LastName<br>$Email<br><br>";
}
mysqli_close($dbc);
?>
这是我的连接方式:
<?php
/* File: cs234DbConnect.inc.php
*/
define('DBNAME', 'mtingle');
define('DBHOST', 'localhost');
define('DBUSER', 'mtingle');
define('DBPWD'', 'mypassword');
define('DBCONN', 'mysql:host=' . DBHOST . ';dbname=' . DBNAME);
?>
提前谢谢你。
最佳答案
根据 your originally posted question/code应该有人想知道。
原因是您没有连接到您的查询。
$query = mysqli_query("SELECT...
缺少指向它的 $dbc
连接变量。
做
$query = mysqli_query($dbc,"SELECT...
用过
or die(mysqli_error($dbc))
到 mysqli_query()
会抛出一个错误。
编辑:在您发布您的cs234DbConnect.inc.php
内容
从文件中删除 define('DBCONN', 'mysql:host=' . DBHOST . ';dbname=' . DBNAME);
,即 PDO 语法。
和define('DBPWD'', 'mypassword');
(额外引用)
define('DBPWD', 'mypassword');
您还错过了 $Email = $rows['Email']
末尾的分号
谢谢 Meda。
另外,使用您现在的方法对 SQL 注入(inject)开放,use prepared statements , 或 PDO with prepared statements ,它们更安全。
另外,缺少分号应该会产生解析错误。
添加error reporting到您的文件的顶部,这将有助于查找错误。
error_reporting(E_ALL);
ini_set('display_errors', 1);
旁注:错误报告只应在试运行中进行,绝不能在生产中进行。
关于php - 试图在php中输出一个mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26536998/