したがって、通常、次のようにクエリとループを記述します。
$result = mssql_query("SELECT Element FROM Table WHERE Type='Type'");
while ($row = mssql_fetch_array($result)) {
}
私はそれがベストプラクティスではないことを知っていますが、私はまだ学んでおり、うまくいきます.
以前は次のようにクエリを連結していました。
$query = "SELECT Element ";
$query .= "FROM Table ";
$query .= "WHERE Condition = 'no' ";
$result = mssql_query($query);
$numRows = mssql_num_rows($result);
これはあまり安全ではありませんが、SQL エンコードを作成しましたが、脱線します。私は今、非常に長いクエリを記述してループさせるという問題に直面しています。以下のように書いていますが、うまくいきません。問題が構文または別の要素にある場合にデバッグできるように、構文が正しいかどうかを誰かに教えてもらえますか。どんな助けでも大歓迎です。
$query = "INSERT INTO Items (BasketID, Qty, ProductType, Element1, Element2, Element3, Element4, Element5, Element6, Element7, Element8, Element9, Element10, Element11, Element12, Element13, Element14, Element15, Element16, Element17, Element18, Element19, Element20, DateAdded, Notes)";
$query .= " VALUES ("$_SESSION['basketid']", "1", "Type1", "SQLencode($_POST['Element1'])", "SQLencode($_POST['Element2'])", "SQLencode($_POST['Element3'])", "SQLencode($_POST['Element4'])", "SQLencode($_POST['Element5'])", "SQLencode($_POST['Element6'])", "SQLencode($_POST['Element7'])",";
$query .= ""SQLencode($_POST['Element8'])", "SQLencode($_POST['Element9'])", "SQLencode($_POST['Element10'])","SQLencode($_POST['Element11']", "SQLencode($_POST['Element12']", "SQLencode($_POST['Element13']","SQLencode($_POST['Element14']","SQLencode($_POST['Element15']", "SQLencode($_POST['Element16']",";
$query .= ""SQLencode($_POST['Element17'])","SQLencode($_POST['Element18'])","SQLencode($_POST['Element19'])", "SQLencode($_POST['Element20'])", "NOW()", "SQLencode($_POST['Notes'])" ) "
$insertsql = mssql_query($query);
while ($insertrow = mssql_fetch_array($insertsql)) {
?>
私は正しい道だと思います/願っていますが、実際のクエリの構文がどこかで少し間違っていると思いますが、その理由がよくわかりません。予期しない t_variables を取得し続けます。誰かが私が間違っているところを教えてもらえますか?