我在PHP中遇到问题,从用户名等于$ myusername
的数据库中选择Infomation我可以使用从登录页面到登录页面的会话来回显用户名。
但我希望能够从该数据库中选择“生物”和“电子邮件”之类的内容,并将它们放入名为$ bio和$ email的变量中,以便我能够回应它们。
这就是数据库的样子:
任何想法?:/
答案 0 :(得分:4)
您应该连接到您的数据库,然后像这样获取行:
// DATABASE INFORMATION
$server = 'localhost';
$database = 'DATABASE';
$dbuser = 'DATABASE_USERNAME';
$dbpassword = 'DATABASE_PASSWORD';
//CONNECT TO DATABASE
$connect = mysql_connect("$server", "$dbuser", "$dbpassword")
OR die(mysql_error());
mysql_select_db("$database", $connect);
//ALWAYS ESCAPE STRINGS IF YOU HAVE RECEIVED THEM FROM USERS
$safe_username = mysql_real_escape_string($X);
//FIND AND GET THE ROW
$getit = mysql_query("SELECT * FROM table_name WHERE username='$safe_username'", $connect);
$row = mysql_fetch_array($getit);
//YOUR NEEDED VALUES
$bio = $row['bio'];
$email = $row['email'];
不要使用纯文本作为密码,始终使用盐哈希密码
我使用MYSQL_QUERY作为你的代码,因为我不知道PDO或Mysqli,在MYSQL中逃避是好的但是考虑使用PDO或Mysqli,因为我不知道它们我不能用它们为你编写代码
答案 1 :(得分:2)
简单的PDO示例。
创建与数据库的连接。
$link = new PDO("mysql:host=$db_server;dbname=$db_name", $db_user, $db_pw, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
在创建(准备)和执行SQL脚本时使用$link
变量。
$stmt = $link->prepare('insert into `history` (`user_id`) values(:userId)');
$stmt->execute(array(':userId' => $userId));
下面的代码将读取数据。请注意,此代码只需要返回一条记录(包含2个数据元素),因此我将返回的内容存储到单个变量(每个数据元素),$webId
和$deviceId
。< / p>
$stmt = $link->prepare('select `web_id`, `device_id` from `history` where `user_id` = :userId');
$stmt->execute(array(':userId' => $userId));
while($row = $stmt->fetch()) {
$webId = $row["web_id"];
$deviceId = $row["device_id"];
}
答案 2 :(得分:0)
从图中我可以看到你正在使用phpMyAdmin--一个用来处理MySQL数据库的工具。首先必须建立与MySql服务器的连接,然后选择要使用的数据库。这显示如下:
<?php
$username = "your_name"; //Change to your server's username
$password = "your_password"; //Change to your server's password
$database = "your_database" //Change to your database name
$hostname = "localhost"; // Change to the location of your server (this will prolly be the same for you I believe tho
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
$selected = mysql_select_db($database, $dbhandle)
or die("Could not select examples");
?>
然后你可以这样写:
<?php
$bio = mysql_query("SELECT bio FROM *your_database_table_name* WHERE username='bob' AND id=1");
?>
和
<?php
$email = mysql_query("SELECT email FROM *your_database_table_name* WHERE username='bob' AND id=1");
?>
其中* your_database_table_name *是您选择要查询的数据库中的表。
当我回答你的问题时,我引用了这个网站:http://webcheatsheet.com/PHP/connect_mysql_database.php。所以它也可能有助于检查它。