相同字符串值中的两个 bindParam
Two bindParam in same string values
提前抱歉我的英语。
我有一个带有 PDO bindParam 的 'problem'。
$sql_fact_1 = "INSERT INTO factures_interventions (id_client, id_facture, id_cat, detail_intervention, prix_intervention, date_intervention, etat_intervention)
VALUES (:id_client, '0', '3', 'Renouvellement automatique annuel (:date_fin) du compte :compte', :tarif, :date_actuelle, '0' )";
$req = $bdd->prepare($sql_fact_1);
$req->bindParam('id_client', $client_1['id'], PDO::PARAM_INT);
$req->bindParam('date_fin', $dateRenou, PDO::PARAM_STR);
$req->bindParam('compte', $compte_1['compte'], PDO::PARAM_STR);
$req->bindParam('tarif', $resultat_form_1['tarif'], PDO::PARAM_STR);
$req->bindParam('date_actuelle', $date, PDO::PARAM_STR);
$req->execute();
$req->closeCursor();
问题在这里
'Renouvellement automatique annuel (:date_fin) du compte :compte'
是我试图在一个短语中输入两个绑定但我得到一个错误:
致命错误:未捕获的 PDOException:SQLSTATE[HY093]:参数编号无效:绑定变量的数量与标记的数量不匹配
'Renouvellement automatique annuel (':date_fin') du compte ':compte''
就像那样,它有效,但我在我的行中有引用。 :(
喜欢:
Renouvellement automatique annuel ('2022/09/01') du compte 'moncompte.fr'
如何删除引号?
带引号的字符串中不能有参数。你必须建立你的字符串并插入:
$sql_fact_1 = "INSERT INTO factures_interventions (id_client, id_facture, id_cat, detail_intervention, prix_intervention, date_intervention, etat_intervention)
VALUES (:id_client, '0', '3', :renouvellement, :tarif, :date_actuelle, '0' )";
$renouvellement = "Renouvellement automatique annuel ($dateRenou) du compte ".$compte_1['compte'];
$req = $bdd->prepare($sql_fact_1);
$req->bindParam('id_client', $client_1['id'], PDO::PARAM_INT);
$req->bindParam('renouvellement', $renouvellement, PDO::PARAM_STR);
$req->bindParam('tarif', $resultat_form_1['tarif'], PDO::PARAM_STR);
$req->bindParam('date_actuelle', $date, PDO::PARAM_STR);
提前抱歉我的英语。
我有一个带有 PDO bindParam 的 'problem'。
$sql_fact_1 = "INSERT INTO factures_interventions (id_client, id_facture, id_cat, detail_intervention, prix_intervention, date_intervention, etat_intervention)
VALUES (:id_client, '0', '3', 'Renouvellement automatique annuel (:date_fin) du compte :compte', :tarif, :date_actuelle, '0' )";
$req = $bdd->prepare($sql_fact_1);
$req->bindParam('id_client', $client_1['id'], PDO::PARAM_INT);
$req->bindParam('date_fin', $dateRenou, PDO::PARAM_STR);
$req->bindParam('compte', $compte_1['compte'], PDO::PARAM_STR);
$req->bindParam('tarif', $resultat_form_1['tarif'], PDO::PARAM_STR);
$req->bindParam('date_actuelle', $date, PDO::PARAM_STR);
$req->execute();
$req->closeCursor();
问题在这里
'Renouvellement automatique annuel (:date_fin) du compte :compte'
是我试图在一个短语中输入两个绑定但我得到一个错误:
致命错误:未捕获的 PDOException:SQLSTATE[HY093]:参数编号无效:绑定变量的数量与标记的数量不匹配
'Renouvellement automatique annuel (':date_fin') du compte ':compte''
就像那样,它有效,但我在我的行中有引用。 :(
喜欢:
Renouvellement automatique annuel ('2022/09/01') du compte 'moncompte.fr'
如何删除引号?
带引号的字符串中不能有参数。你必须建立你的字符串并插入:
$sql_fact_1 = "INSERT INTO factures_interventions (id_client, id_facture, id_cat, detail_intervention, prix_intervention, date_intervention, etat_intervention)
VALUES (:id_client, '0', '3', :renouvellement, :tarif, :date_actuelle, '0' )";
$renouvellement = "Renouvellement automatique annuel ($dateRenou) du compte ".$compte_1['compte'];
$req = $bdd->prepare($sql_fact_1);
$req->bindParam('id_client', $client_1['id'], PDO::PARAM_INT);
$req->bindParam('renouvellement', $renouvellement, PDO::PARAM_STR);
$req->bindParam('tarif', $resultat_form_1['tarif'], PDO::PARAM_STR);
$req->bindParam('date_actuelle', $date, PDO::PARAM_STR);