J'ai une requête SQL
, dans laquelle je convertis des pouces en pieds.Comment réparer une erreur de devis unique dans une requête SQL?
<?php
$query ="
SELECT *
,replace (replace('<feet>'' <inches>"',
'<feet>', height/12),
'<inches>', height % 12) AS playerHeight
,abbrName
FROM leagueRosters
INNER JOIN leagueTeams AS teamInfo
ON leagueRosters.teamId=teamInfo.teamId
WHERE abbrName LIKE '".$_GET['team']."'
ORDER BY rosterId DESC
";
$resultRoster = mysqli_query($connect, $query);
?>
D'après ce que je comprends que je suis censé doubler les guillemets simples que je l'ai fait
,replace (replace("<feet>"" <inches>"",
"<feet>", height/12),
"<inches>", height % 12) AS playerHeight
Et j'ai aussi essayé cette
,replace (replace("'<feet>'" "'<inches>'",
"'<feet>'", height/12),
"'<inches>'", height % 12) AS playerHeight
Ni l'un fonctionne. J'ai essayé quelques autres combinaisons, mais je me retrouve toujours avec une erreur sur au moins une ligne.
J'ai suivi la réponse à cette question - How do I escape a single quote in SQL Server? Mais je "suis toujours pas sûr de ce que je fais mal
Je ne comprends pas pourquoi vous utilisez 'remplacer()' dans le premier p dentelle, lorsque la chaîne d'origine est un littéral. Utilisez simplement la concaténation de chaînes. – Barmar
Essayez ceci: $ query = » SELECT * remplacer (remplacer (' '' ', '', hauteur/12), '', hauteur% 12) playerHeight, abbrName DE leagueRosters INNER JOIN leagueTeams AS teamInfo ON leagueRosters.teamId = teamInfo.teamId OERE abbrName LIKE '$ _GET [équipe]' ORDER BY rosterId DESC "; –
Nic3500
Note: L'interface orientée objet de 'mysqli' est significativement moins verbeuse, rendant le code plus facile à lire et à auditer, et n'est pas facilement confondue avec l'interface' mysql_query' obsolète. Avant de vous investir trop dans le style procédural, cela vaut la peine de changer. Exemple: '$ db = new mysqli (...)' et '$ db-> prepare (" ... ")' L'interface procédurale est un artefact de l'ère PHP 4 quand l'API 'mysqli' a été introduite et ne devrait pas être utilisée dans de nouvelles code. – tadman