我想鏌鋣雷沃中的一個片段中查詢數據庫:運行自定義數據庫查詢
<?php
$leadersql = "SELECT * FROM `modx_menus`";
$result = mysql_query($leadersql);
while ($row = mysql_fetch_array($result)) {
echo "hello";
};
?>
在埃沃這個工作得很好,但在雷沃沒有返回。
我是否需要設置不同?
我想鏌鋣雷沃中的一個片段中查詢數據庫:運行自定義數據庫查詢
<?php
$leadersql = "SELECT * FROM `modx_menus`";
$result = mysql_query($leadersql);
while ($row = mysql_fetch_array($result)) {
echo "hello";
};
?>
在埃沃這個工作得很好,但在雷沃沒有返回。
我是否需要設置不同?
基督徒的代碼不工作,你可能需要先定義$排陣:
$leadersql = "SELECT * FROM `modx_menus`";
$query = $modx->query($leadersql);
$rows = array();
if ($query) {
// loop through the result set and inspect one row at a time
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
array_push($rows, $row);
}
}
echo '<br /><br /><pre>';
print_r($rows);
echo '</pre>';
如果不是: - 你有菜單項定義? - 您正在調用您的代碼段未緩存?
理想情況下,您可以使用xPDO方法來構建數據庫查詢。它會自動轉義提供的參數,創建跨數據庫類型轉換的查詢(目前爲mysql & mssql),並具有許多其他優點。但是,您需要爲自定義表創建類和地圖,因此設置起來也更爲棘手。 Bob's guides具有良好的信息一樣,Lazylegs
但是,當然,你可以實現你的特定的查詢,而無需使用XPDO:
$leadersql = "SELECT * FROM `modx_menus`";
$query = $modx->query($leadersql);
if ($query) {
// loop through the result set and inspect one row at a time
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
array_push($rows, $row);
}
}
而且另外還有Rowboat附加,跨數據庫錶行迭代 - 如果您的要求很簡單。
爲什麼不使用內置的xPDO方法:
$menus = $modx->getCollection('modMenu');
if ($menus) {
foreach ($menus as $menu) {
echo $menu->get('text');
}
}
你可以試試這個代碼:
<?php
include './core/config/config.inc.php';
$con=mysqli_connect($database_server,$database_user,$database_password,$dbase);
// Check connection
mysqli_set_charset($con, "utf8");
if (mysqli_connect_errno()) {
//echo "Failed to connect to MySQL: " . mysqli_connect_error();
return "DB error";
}
$result = mysqli_query($con,"SELECT id, pagetitle, uri FROM `modx_site_content` WHERE parent = ".$parentId);
while($row = mysqli_fetch_array($result))
{
//do something with $row['pagetitle'];
}
其中$ parentId的是片段調用示例參數。
謝謝,但沒有運氣!用我自己的表創建我自己的數據庫並正常連接它會更容易嗎? – MeltingDog
我剛剛添加了一條關於划艇的專欄 - 你看過嗎? – christianhanvey
是 - 划艇只輸出查詢結果不是嗎?我不能把它放到PHP變量可以嗎? – MeltingDog