4

im having problems in PHP with selecting Infomation from a database where username is equal to $myusername

I can get it to echo the username using sessions from the login page to the logged in page.

But I want to be able to select things like 'bio' and 'email' from that database and put them into variables called $bio and $email so i can echo them.

This is what the database looks like:

This is what the database looks like:

Any ideas?:/

4

3 に答える 3

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'];

注 1:

パスワードにプレーンテキストを使用しないでください。パスワードは常にソルトでハッシュしてください

注 2:

PDOまたはMysqliがわからないため、コードにMYSQL_QUERYを使用しました。MYSQLでのエスケープで十分ですが、PDOまたはMysqliの使用を検討してください。それらがわからないため、コードを記述できません

于 2013-06-29T15:32:27.910 に答える
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);

$linkSQL スクリプトを作成 (準備) および実行するときに変数を使用します。

$stmt = $link->prepare('insert into `history` (`user_id`) values(:userId)');
$stmt->execute(array(':userId' => $userId));

以下のコードはデータを読み取ります。このコードは 1 つのレコード (2 つのデータ要素を含む) のみが返されることを想定しているため、返されたものはすべて (データ要素ごとに) 1 つの変数に格納していることに注意して$webIdください$deviceId

$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"];
}
于 2013-06-29T17:22:47.503 に答える
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。ということで、こちらもチェックしてみるといいかもしれません。

于 2013-06-29T15:46:53.903 に答える