簡體   English   中英

Mysqli Multiquery和在后續PHP頁面中使用結果的問題

[英]Problems with Mysqli Multiquery and using the results in the proceeding PHP Page

我在使用mysqli多查詢時遇到了一些麻煩,特別是在它們出現后使用它們。 如果我在其中插入'printf'行,它將打印平均值,但是我無法使用似乎在mysqli部分之外使用的數組[正在計划使用它們在下面的頁面上組織圖像]。

我對PHP和Mysql還是很陌生,所以如果我錯過了以前的主題中的某些內容,可能會對此排序/將其指向正確的方向,我深表歉意-但我仍在努力之中。

如果我對此感到愚蠢,則可以放縱我,將我丟進一桶排泄物中,但以前卻擁有'printf(“%s \\ n”,$ row [0,1,2,3等]);' 它將打印結果,但是如果我稍后在頁面中嘗試使用row [0],它將使用這些字符,而不是調用應存儲在此處的值。

$mysqli=new mysqli("localhost", "uname", "passwordbit", "mydb");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT AVG(cpcriminalswork) from mydb;";
$query .= "SELECT AVG(cpsentancing) from mydb;";
$query .= "SELECT AVG(cpdeathpenalty) from mydb;";
$query .= "SELECT AVG(cphumanrights) from mydb;";
$query .= "SELECT AVG(cpprotection) from mydb;";
$query .= "SELECT AVG(tbtaxationspread) from mydb;";
$query .= "SELECT AVG(tbtaxmax) from mydb;";
$query .= "SELECT AVG(tbdole) from mydb;";
$query .= "SELECT AVG(tbchildben) from mydb;";
$query .= "SELECT AVG(tbunemployment) from mydb;";
$query .= "SELECT AVG(eebanks) from mydb;";
$query .= "SELECT AVG(eeminwage) from mydb;";
$query .= "SELECT AVG(eeforiegnaid) from mydb;";
$query .= "SELECT AVG(eemilitary) from mydb;";
$query .= "SELECT AVG(eemaxwage) from mydb";

/* execute multi query */
if ($mysqli->multi_query($query)) {
do {
    /* store first result set */
    if ($result = $mysqli->store_result()) {
        while ($row = $result->fetch_row()) {
        }
        $result->free();
    }
    if ($mysqli->more_results()) {
    }
} while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();

不需要多查詢。 您可以使用SQL收集AVG。

(請參閱http://www.sqlfiddle.com/#!2/529e8/3

$query = "SELECT AVG(foo1) as foo1, AVG(foo2) as foo2, AVG(foo3) as foo3, AVG(foo4) as foo4 from mydb";
$res = mysqli_fetch_array(mysqli_query($query));

print_r($res);

輸出應該是這樣的

foo1 => 3 foo2 => 1 foo3 => 7 foo4 => 9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM