【发布时间】:2017-06-20 00:52:32
【问题描述】:
我有一个名为 $sqldata 的关联数组。这个数组看起来像:
{"assignment":"1","grade":"11.00000"}
我的代码:
function displayfetchAssignGrades($sqldata) {
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "moodle";
$sqlr = array();
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
foreach ($sqldata as $x => $sqld) {
$sqlqueryinfo = $sqld;
$sql = "SELECT name FROM mdl_assign WHERE id='$sqlqueryinfo'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_array($result)) {
$row["grade"] = $sqldata["grade"][$x];
$sqlr = $row;
}
} else {
echo "";
}
}
echo json_encode($sqlr);
mysqli_close($conn);
}
我想要的是当 foreach 循环迭代时,我想要从 SQL 查询接收到的作业名称和另一个关联中的等级(来自原始 $sqldata 数组)。成绩值的顺序对应于作业名称。所以最终的数组应该是 JSON 格式的:
{"assignment name":"Task 1","grade":"11.00000"}
【问题讨论】:
-
你的问题是什么?
-
请问这段代码有多老了,为什么你不使用 PDO?
标签: php sql arrays json foreach