Ben PDO kullanarak ve sorgudan basit bir seçme sapan zaman bir sorun haline çalışan yeni olduğum için, ben en iyi buralarda sormak düşündüm.
Kodu:
$sDbase = str_replace('`', '', $modx->db->config['dbase']);
$oPdo = new PDO("mysql:host=localhost;dbname=" . $sDbase . ";", $modx->db->config['user'], $modx->db->config['pass']);
$oPdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST["search"]))
{
$sSearch = (!empty($_POST["search"])) ? mysql_real_escape_string($_POST["search"]) : "" ;
}
$sSearch = 'beer' ;
$sQry = <<< QRY
SELECT
contentid AS standid
,value AS found
,pagetitle
,published
FROM
modx_site_tmplvar_contentvalues
RIGHT JOIN
modx_site_content
ON
modx_site_content.id = modx_site_tmplvar_contentvalues.contentid
WHERE
( tmplvarid = 41 OR tmplvarid = 40 )
AND
(value LIKE '%:search%'
OR
pagetitle LIKE '%:search%')
AND
published = '1'
ORDER BY
pagetitle
ASC
QRY;
$oRes = $oPdo->prepare( $sQry );
$oRes -> bindParam( ":search", $sSearch );
$oRes -> execute() ;
$aRow = $oRes->fetchAll();
$oRes -> closeCursor();
var_dump($aRow);
Değişken $sSearch Ben sorguda :search bağlamak istiyoruz. Bu Örneğin, ben bir değer kurdum, ama açıkçası ben ilk etapta PDO kullanmak istiyorum neden bir POST değişkeni ile değiştirmek istiyorum.
Ancak, sorgu $sSearch, bazı searchValue ve eserleri yerine, ama şimdi aynı sorguyu gerçekleştirmek için PDO kullanılan ettik ve ben boş bir sonuç almak ile test edilmiştir. Peki, boş bir dizi gerçekten.
Yani burada ne eksik?