Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Absona
Lõuapoolik

liitunud: 17.09.2008
|
02.06.2009 12:01:41
MySQL viga |
|
|
Tekkis selline viga, et kui tahan mingeid andmeid andmebaasis muuta, siis kuvatakse järgmine viga:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
See viga tekib ainult siis, kui muudetaval tekstil on tühikud sees. Olen juba paar päeva jamanud aga vea kohta teada ei saa. Äkki keegi oskab leida selle vea ülesse või anda nõu, et tühikuid sisaldaval lause salvestamiselt sellist viga ei tuleks Mul endal on tunne, et viga on kusagil jutumärkides aga endateada olen kõik asjad juba läbi katsetanud aga arvan, et midagi on kahesilma vahele jäänud.
Muidugi kui tahate rohkem koodi näha, siis ainult öelge, äkki viga ei olegi selles ning skript pole mul ise kirjutatud.
function Save()
{
require("config.php");
require("database.php");
require("validator.php");
$TableID = $_POST['table_id'];
$Fields = explode("@", $Tables[$TableID]);
$QUERY = "update `$TableNames[$TableID]` set ";
$FieldCounter = 0;
foreach($Fields as $Field)
{
$FieldCounter++;
if(Validate($TableID, $Field, $_POST[$Field]) == "false")
{
$ProperField = $Field;
$TMP = explode(" ", $Field);
if($TMP[1] != "")
{
$ProperField = str_replace(" ", "_",$Field);
};
$QUERY .= "`$TableNames[$TableID]`.`$Field`='".$_POST[$ProperField]."'";
}
else
{
die("The value `$_POST[$Field]` at `$Field` in table `$TableName[$TableID]` is not accepted");
};
if(sizeof($Fields) > $FieldCounter)
{
$QUERY .= ", ";
};
};
$QUERY .= " where ";
$FieldCounter = 0;
foreach($Fields as $Field)
{
$Temp = "Old".$Field;
$SpaceCHK = explode(" ", $_POST[$Temp]);
$FloatCheck = explode(".", $_POST[$Temp]);
$Float = false;
if(is_numeric($_POST[$Temp]) && $FloatCheck[1] != "")
{
$Float = true;
};
if($_POST[$Temp] != "" && $SpaceCHK[1] == "" && !$Float)
{
$FieldCounter++;
if($FieldCounter > 1)
{
$QUERY .= " and ";
};
$QUERY .= "`$Field`"."='".$_POST[$Temp]."'";
};
};
//print($QUERY);
mysql_unbuffered_query($QUERY);
if(mysql_error() == "")
{
print("<H3 align=center>Edit successfull</H3>");
echo '<p align=center><a href="main.php?table_id=';print($TableID);echo'">Home</a></p>';
}
else
{
print(mysql_error());
};
};
|
_________________ Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid. |
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
02.06.2009 12:02:24
|
|
|
Absona, aga vaata seda SQL luset siis mida su kood kokku keerab - näed ära mis valesti on.
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
sosssepp
HV veteran

liitunud: 12.05.2003
|
02.06.2009 13:12:17
|
|
|
Võta näiteks //print($QUERY); real kommentaari märgid maha ja kui ise ei leia, siis kopeeri koodi poolt koostatud päring siia, et vigane koht leida.
|
|
Kommentaarid: 87 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
75 |
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
02.06.2009 13:14:38
|
|
|
Renka kirjutas: |
Absona, aga vaata seda SQL luset siis mida su kood kokku keerab - näed ära mis valesti on. |
Seal on kõik OK, aga viga on lühidalt vist selles, et kui hakatakse vana väärtust asendama uuega, siis vanal väärtusel ei tohi olla tühikut sees - kui on, siis annab veateate ja midagi ei tehta. Seega oleks vaja see probleem lahendada kuidagi..
_________________ Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid. |
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Gizmoz
Kreisi kasutaja

liitunud: 24.09.2005
|
02.06.2009 13:19:14
|
|
|
aga see kus sa neid tabeleid genereerid , kas seal ära märgitud et mida kasutada , char , int jne?
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
TammikSi
HV kasutaja
liitunud: 29.10.2006
|
02.06.2009 13:21:19
|
|
|
poole silmaga vaatasin...
äkki võiks htmlspecialchars() kuskile vahele toppida
viga vib ka tabelis endas olla
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
23 |
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
02.06.2009 13:59:31
|
|
|
Absona kirjutas: |
Renka kirjutas: |
Absona, aga vaata seda SQL luset siis mida su kood kokku keerab - näed ära mis valesti on. |
Seal on kõik OK, aga viga on lühidalt vist selles, et kui hakatakse vana väärtust asendama uuega, siis vanal väärtusel ei tohi olla tühikut sees - kui on, siis annab veateate ja midagi ei tehta. Seega oleks vaja see probleem lahendada kuidagi..  |
Seal ei saa ju kõik korras olla kui MYSQL veateate annab. Kõigepealt tuleks ikka vea allikkas üles leida ja siis vaadata miks asi nii on ja mida parandada.
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
TammikSi
HV kasutaja
liitunud: 29.10.2006
|
02.06.2009 14:08:39
|
|
|
Shoot first ask questions later
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
23 |
|
tagasi üles |
|
 |
Absona
Lõuapoolik

liitunud: 17.09.2008
|
|
Kommentaarid: 11 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
virus152
HV vaatleja

liitunud: 05.03.2009
|
02.06.2009 20:08:00
|
|
|
Aga äkki räägid meile ka, milles täpselt siis viga seisnes?
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
|