0
나는 mysqli에서 손을 썼다.mysqli를 사용하여 데이터 가져 오기
절차 적 mysql을 사용하면 코드가 결과를 잘 표시합니다. 그러나, OOP mysqli로 전환 한 후에, 나는 mysqli로 코드를 변환하려고 시도했는데, 따옴표가 없다고 말한다. 코드에 문제가 있습니까?
/* the database object */
private $_db;
public function __construct($db=NULL)
{
if(is_object($db))
{
$this->_db = $db;
}
else
{
$this->_db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
}
}
public function displayQuotes()
{
$sql = "SELECT cQuotes, vAuthor, cArabic, vReference
FROM thquotes
ORDER BY RAND()
LIMIT 1;";
try {
$query = $this->_db->prepare($sql);
$query->execute();
$query->store_result();
/* bind variables to prepared statement */
$query->bind_result($cQuotes, $vAuthor, $cArabic, $vReference);
if(!$query->num_rows==0)
{
while($row = $query->fetch())
{
//echo $this->formatQuotes($row);
$formatHTML = new formatHTML();
echo $formatHTML->formatQuotes($row);
}
}
else
{
echo "There are no Quotes!";
}
$query->free_result();
$query->close();
}
catch (Exception $ex){
echo "Something went wrong " . $ex;
}
}
결과 집합 변수를 결합하지 않았다'$ stmt-> bind_result ($의 COL1을, $ col2, $ col3, col4);'여전히 'no quotes'가 표시됩니다. 이게 올바른 방법일까요? 또는 나는 무엇인가 놓치고 있냐? – input
'if (! $ query-> num_rows() == 0)'를'if (! $ query-> num_rows == 0)'로 변경하십시오. 이것은 메소드가 아니라 속성입니다. – Mchl
그랬습니다. 여전히 작동하지 않습니다. 변경 사항으로 코드를 업데이트했습니다. 확인해주십시오. – input