我是PHP的初学者,我在一个拼车网站上工作,我只想在用户帐户中显示一个表单,除非他没有输入他的车,但是这是我的代码,很遗憾,它不起作用并且我还没有屏幕上没有任何错误。如果可以,请你帮助我 !!
<div id="edit-settings" class="tab-pane">
<?php $user_id=$_SESSION['user']['id'];
$res = $db->query('SELECT COUNT(*) FROM car where $user_id');
$get_total = $res->fetchColumn();
if($get_total==0){
echo 'please enter a car by filling the form below'; ?>
<form action="car.php" method="post">
<br />
<label class="control-label" for="inputEmail">
Brand *
</label>
<input class="span4" type="text" placeholder="Brand *" name="brand" maxlength="64" required="">
<br />
<br />
<label class="control-label" for="inputEmail">
Model *
</label>
<input class="span4" type="text" placeholder="Model *" name="model" maxlength="64" required="">
<br /><br />
<label class="control-label" for="inputEmail">
Confort *
</label>
<select id="lst_confort" class="span4" name="confort">
<option value="Basique">Basic</option>
<option value="Normal">Normal</option>
<option value="Confortable">Confortable</option>
<option value="Luxe">Luxary</option>
</select>
<br /><br />
<label class="control-label" for="inputEmail">
Color *
</label>
<select id="lst_confort" class="span4" name="couleur">
<option value="0" selected> choose a color</option>
<option value="0"> white</option>
<option value="1">black</option>
<option value="2">blue</option>
<option value="3"> Red</option>
<option value="4"> Orange </option>
<option value="5"> Green</option>
<option value="6"> Yellow </option>
</select>
<br /><br />
<label class="control-label" for="inputEmail">
Nb places *
</label>
<select name="places" id="lst_NbPlaces" class="span2" required="">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
<br />
<br />
<button type="submit" class="btn btn-success">
Submit</button>
<br />
<br />
<br />
<label class="text-info">
* required field
</label>
</form>
<?php } else {
echo "You have already entered car !";
}
?>
您的查询是错误的:
SELECT COUNT(*) FROM car where $user_id
这是用单引号引起的,因此它的解释与您在上面看到的完全相同;$user_id
被视为文字文本,而不是变量。那不是有效的查询。我怀疑你的意思是
$res = $db->query('SELECT COUNT(*) FROM car where user_id = ' . $user_id);
(user_id
根据需要更改以匹配您的列名。)
请注意,这非常容易受到SQL注入的攻击,因此对于实际使用来说是完全不安全的。
另外,将来,您可以尝试检查数据库错误和日志,以确定出了什么问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句