이전의 mysql 스크립트를 가져 와서보다 안전한 PDO 형식으로 변환하려고 시도했습니다. 예전 스크립트에서 필드를 선택하여 테이블을 입력 한 다음 변수에 넣습니다. $ Product = $ row [ 'product']; IF 및 ELSE 문을 실행하십시오. 사용자의 제품이 = 내가 에코 싶어 소니 "당신은뿐만 아니라 이들에 관심이있을 수 있습니다"경우 여기 PDO 문에 지금PDO가 행 결과를 가져 오지 않습니다.
<?php
$connect = mysql_connect("host","username","password");
mysql_select_db("dbname");
$username = $_SESSION['username'];
$q = "SELECT product FROM users WHERE username = ('$username')";
$r = mysql_query($q);
$row = mysql_fetch_assoc($r);
$Product = $row['product'];
if($Product == "sony")
{
echo "You may be interested in these as well";
}
?>
아래에있는 내 예제 코드는, 당신은 같은 종류의 프로그램을 실행할 수 없습니다 것입니다 이전처럼 진술처럼. 내 쿼리에서 선택되는 행의 제품에 변수를 할당 시도하지만 오류 얻을 : 여기
Cannot use object of type PDOStatement as array
것은 내가에서 필드 "제품"을 전달할 수 있습니다 어떻게 내 코드
<?php
session_start();
$db = new PDO('mysql:host=host;dbname=dbname;charset=UTF-8', 'username', 'password');
$username = $_SESSION['username'];
$getProduct = $db->query("SELECT product FROM users WHERE username = '$username'");
$getProduct->execute();
$Product = $getProduct['product'];
if($Product == "sony")
{
echo "You may be interested in these as well";
}
?>
입니다 테이블에서 PDO와 변수를 선택합니다 if product = "sony"echo "message";?
나는 또한이 문장을 성공으로 대체하려고 시도했다.
<?php
$query = $db->query("SELECT product FROM users WHERE username = '$username'");
$query->execute();
$Product = $query ->fetchAll(PDO::FETCH_ASSOC);
$Product = $getProduct['product'];
if($Product == "sony")
{
echo "You may be interested in these as well";
}
?>
매뉴얼은 이전 문장을보다 최신의 안전한 문장으로 변환하는 것과 관련하여 그리 좋지 않으므로 감사합니다. 감사합니다.
세 번째 비트가 작동하지 않는 것은 당연합니다. '$ getproduct'는 거기에 존재하지 않습니다. – Daedalus