שלח תשובה

זירת השאלות

649
צפיות
2
תשובות

תוכלו להסביר לי איכן צריך לתקן את הקוד

,‏ 27 ביולי, 2008

תוכלו להסביר לי איכן צריך לתקן  את הקוד הבא כי קראתי את המדריך ולא הבנתי איכן אני צריך לתקן
תודה


<%@ Language=VBScript codepage=1255%>
<%if session("Login") <> true then Response.Redirect "login.asp"%>
<%
Dim uName, myStr, conn, rs, conStr, rsStr, uDate, titleStr,sqlText
uName = session("uName")
Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:outpost.mdb"



sqlText="UPDATE People" & _
    
      " , NAME = "& Request.form("NAME") & _
      " , Lastname = "& Request.form("Lastname") & _
      " , ID = "& Request.form("ID") & _
      " , address = "& Request.form("address") & _
      " , CITY = "& Request.form("CITY") & _
      " , zipcode = "& Request.form("zipcode") & _
      " , telephone = "& Request.form("telephone") & _
      " , cellular = "& Request.form("cellular") & _
      " , email = "& Request.form("email") & _
      " WHERE People = "& Request.form("uName")



conn.Execute(sqlText)
  
conn.Close
set conn = nothing
%>





א.ר.ר

תגיות:

2 תשובות

  1. למה אתה מתעקש…
    אמרתי לך – כשאתה מעביר ערך מספרי לבסיס נתונים אתה יכול לכתוב ככה num=1 אבל כשאתה מעביר ערך סטרינג (תווים) אתה צריך להעביר ככה
    str='text'

    זה עיקרון שנכון לגבי כל סוגי התיכנות בעולם, וגם ל-SQL.

    המצב הנוכחי של הקוד שלך הוא שאתה מעביר בשאילתא בפרמטרים בלי המרכאות, וזה מה שגורם לשגיאה…

    בנוסף, הצלחתי לך לקרוא על SQL Injection מה שיכוטל מאוד לעזור לך להבין מה השגיאות שלך (צריך להריץ כל מיני משפטי החלפה על סטרינגים לפני שמעבירים אותם לשאילתא)

    אני אשמח להמשיך לעזור לך – אבל תראה איזה התקדמות בניסיון שלך לבצע את השאילתא ואל תזרוק שוב ככה את השאילתא בניסיון שנמצא לך תיקון פלא, כי אין כזה…


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  2. farisa הגיב:

    מה עם SET ?
    ואתה מתחיל עם פסיק ישר אחרי שם הטבלה….נראה לי הבעיה שלך במבנה של שאילתת SQL

    ובשביל לא להתבלבל עם סטרינגים ומספרים אני ממליץ לך לתחום את כל הערכים שאתה מכניס ל DB בגרש…

שלח תשובה