我有两个数据库(第一个:身份,第二个:订单),我尝试从第一个中获取我的id,在第二个数据库中包含,当第二个数据库中的客户订单时我们可以看到id关联。
我尝试了很多但没什么!
这是我的php:
<?php
session_start();
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['commande']) && $_POST['commande'] == 'commande') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['homme']) && !empty($_POST['homme'])) && (isset($_POST['quantiteh']) && !empty($_POST['quantiteh']))) {
// on teste les deux mots de passe
$base = mysql_connect ('localhost', 'acces_site', 'password');
mysql_select_db ('carole', $base);
$homme = $_POST['homme'];
$quantiteh = mysql_real_escape_string($_POST['quantiteh']);
// $id ='SELECT id, id FROM carole,commande ';
$id=$_SESSION['id'];
$sql = 'INSERT INTO commande (id_commande,id,homme,quantiteh) VALUES ("", "$id", "$homme", "$quantiteh")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
}
}
?>
这是我的HTML:
<fieldset id="rows0">
<ul>
<li>
<br/>
<br/>
<br/>
<form method="POST" action="#">
<select id="homme" name="homme" class="col-xs-5 col-sm-6 col-lg-6">
<option value="chemise">Chemise</option>
<option value="chemise pliée">Chemise pliée</option>
<option value="veste">Veste</option>
<option value="pantalon">Pantalon</option>
<option value="cravate">Cravate</option>
<option value="pull">Pull, Gilet</option>
<option value="blouson">Blouson</option>
<option value="blouson">Blouson 3/4</option>
<option value="impermable">Imperméable</option>
<option value="manteau">Manteau</option>
<option value="doudoune">Doudoune</option>
</select>
<input type="number" min="1" id="quantiteh" name="quantiteh" placeholder="Quantité" class="col-xs-5 col-sm-4 col-lg-4"/>
<button type ="submit" class="btn btn-primary" name="commande" value="commande">Continuer</button>
</form>
</li>
</ul>
</fieldset>
<fieldset id="controls">
<button id="addRow0">add</button>
<button id="removeRow0" disabled>remove</button>
</fieldset>
答案 0 :(得分:1)
在用单引号括起的字符串中使用时,不会展开变量。
所以这不起作用:
$sql = 'INSERT INTO commande (id_commande,id,homme,quantiteh) VALUES ("", "$id", "$homme", "$quantiteh")';
^^^ no variable here, just the string "$id", etc.
您可以将单引号切换为双引号,将双引号转换为单引号,但是您会遇到SQL注入问题($homme
变量)。
您应该切换到PDO或mysqli以及带有绑定变量的预处理语句。
在PDO中,您的查询类似于:
// open PDO database connection
$sql = 'INSERT INTO commande (id,homme,quantiteh) VALUES (:id, :homme, :quantiteh)';
$stmt = $db->prepare($sql);
$stmt->execute(array(':id' => $id, ':homme' => $homme, ':quantiteh' => $quantiteh));