2016-05-15 5 views
1

私は$ searchEscapedを使用してユーザーに「自分のプロフィールを見る」ことができますが、この結果は私のためには機能しません。

ここで、ユーザーは自分のプロフィールに

<li><a href="profile2.php?username=<?php echo $userRow['username'];?>">View Profile</a></li> 

を表示しますというリンクがありますし、それがprofile.phpページに送信します:ここに私のコードです。これは以下の通りです。

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "database"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 

$searchEscaped = $conn->real_escape_string($_GET['username']); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$res=mysql_query("SELECT username , image FROM users WHERE username='$searchEscaped'"); 
$userRow=mysql_fetch_array($res); 



$conn->close(); 
?> 

<?php echo $userRow['username']; ?> 
<?php echo $userRow['image']; ?> 

すべてのヘルプは素晴らしいだろう。ありがとうございました!

+0

文字列をエスケープしないと機能しますか? –

+2

あなたはmysqlとmysqliを混在させています。 – jeroen

答えて

1
<?php 
     $servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $dbname = "database"; 

     // Create connection 
     $conn = mysqli_connect($servername, $username, $password, $dbname); 
     // Check connection 


     if (!$conn) { 
      die("Connection failed: " . mysqli_connect_error(); 
     } 

     $searchEscaped = mysqli_real_escape_string($conn, $_GET['username']); 
     $res=mysqli_query($conn, "SELECT username , image FROM users WHERE username='$searchEscaped'"); 
     $userRow=mysqli_fetch_array($res); 



     mysqli_close($conn); 
     ?> 

     <?php echo $userRow['username']; ?> 
     <?php echo $userRow['image']; ?> 
+0

ありがとう!これは完璧です。 – kenny

0

mysqlmysqliを混在させています。これがあなたの問題の原因であることは間違いありません。

私はあなたのコードをPDOに変換し、SQLインジェクション攻撃からあなたを守りました。

<?php 
$username = "root"; 
$password = ""; 

$conn = new PDO('mysql:host=localhost;dbname=database', $username, $password); 

$searchEscaped = $_GET['username']; 

$stmt = $con->prepare("SELECT username, image FROM users WHERE username=:searchEscaped"); 
$stmt->bindParam(':searchEscaped', $searchEscaped); 
$stmt->execute(); 
$userRow = $stmt->fetch(); 

echo $userRow['username']; 
echo $userRow['image']; 
?> 
関連する問題