我有一些问题。我的 mysql 抛出一些错误:
无法执行查询。命令不同步;您现在无法运行此命令
我了解到语法本身可能与其他函数冲突。
我的情况是,我有一个从数据库获取结果的页面。并使用 while 语句,它显示在文本框中。现在,我想更新同一页面中的值。由于有些值不是文本输入,因此获取这些值并不容易。我在 while() 函数中放置了另一个 php function() 。
语法如下:
用于渲染文本框的 while 语句
include '../functions/configuration.php';
$query = "call sp_callViewTransc($ids)";
$result = mysql_query($query) or die("Could not execute query. " . mysql_error());
**while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {**
**<!-- WHILE FUNCTION IS GETTING RESULT FROM DB -->**
?>
<div class="tabbable"> <!-- Only required for left/right tabs -->
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab">General Information</a></li>
<li><a href="#tab2" data-toggle="tab">Computer Information</a></li>
<li><a href="#tab3" data-toggle="tab">OS and Licenses</a></li>
<li><a href="#tab4" data-toggle="tab">Remarks</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<form class="form-horizontal">
<p>Asset General Information. Some order goes here.</p>
<fieldset>
<!-- Text input-->
<div class="control-group">
<label class="control-label">Location</label>
<div class="controls">
<input id="idms_location" name="idms_location" type="text" placeholder="location" class="input-xlarge" readonly="readonly" value="<?php echo $row['idms_location']; ?>">
<?php getLocation(); ?>
**<!-- getLocation() function is another function in another file that getting dropdown values-->**
</div>
</div>
有没有php函数可以解决这个问题?
** 更新 **
这是我在 php 中获取组合框结果的第二个函数
function getLocation() {
$query_location = "SELECT location, idms_location FROM ms_location";
$location_list = mysql_query($query_location) or die("Could not execute query." . mysql_error());
echo "<select>";
while ($row = mysql_fetch_array($location_list, MYSQL_ASSOC)) {
echo("<option value='" . $row['idms_location'] . "'>" . $row['location'] . " </option>");
}
echo "</select>";
mysql_close();
}
最佳答案
这是由于在循环另一个调用的结果时调用 mysql_query
获取数据而导致的。
目前,您正在为每个结果调用 getLocation
。因此,如果您有 10 个结果,则需要对数据库进行 10 次调用,这些调用都将返回相同的结果。
相反,更改 getLocation
调用以返回字符串并在循环之前调用它:
$location = getLocation();
然后在循环中你可以这样做:
<?php echo $location ?>
关于php - MySQL 抛出无法执行查询。命令不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17548727/