Autor | Zpráva | ||
---|---|---|---|
Senky Profil |
#1 · Zasláno: 25. 11. 2009, 18:03:13
Zdravím,
prvý krát sa stretávam s takýmto problémom. Hľadal som na nete nejaké riešenia, ale našiel som iba také, že mám ako druhý parameter pridať premennú mysql_connect. Pridal som ju a tiež to nefunguje. Tu je mysql_query: $extension = end(explode(".",strtolower($_FILES['worksheet']['name']))); $hash = time() + rand(0,15) . "." . $extension; $ruf_sql = "SELECT * FROM worksheets WHERE hash=" . $hash; $ruf_result = mysql_query($ruf_sql, $con) or die(mysql_query()); $ruf_row = mysql_fetch_array($ruf_result) or die(mysql_query()); Pred tým je ešte jeden mysql_query, ktorý funguje správne, pretože sa mu údaje do databázy zapíšu a vyzerá takto: mysql_query("INSERT INTO worksheets (group_id, name_file, name_uploader, hash, time) VALUES ('" . $_POST['group'] . "', '" . $_POST['name_file'] . "', '" . $_POST['name_uploader'] . "', '" . $hash . "', '" . time() . "')") or die(mysql_query()); Je to jednoduchý príkaz a tak neviem v čom je problém. Vedel by mi niekto poradiť? Ďakujem... |
||
Akacko Profil |
#2 · Zasláno: 25. 11. 2009, 18:07:52 · Upravil/a: Akacko
Senky:
Co máš v proměnné $con? Ale podle mě stačí řádek přepsat takto: $ruf_result = mysql_query($ruf_sql) or die(mysql_query()); |
||
Senky Profil |
#3 · Zasláno: 25. 11. 2009, 18:18:06 · Upravil/a: Senky
V $con mám mysql_connect() funkciu. Ak ju odstránim tak sa robí to isté...
BTW: Vyzerá takto: $con = mysql_connect('localhost', 'root') or die (mysql_error()); |
||
Akacko Profil |
#4 · Zasláno: 25. 11. 2009, 18:28:32 · Upravil/a: Akacko
Senky:
Řekl bych, že problém bude v proměnné $ruf_sql. Zkus si ji vypsat a podívat se na její obsah. Pokud je proměnná $hash řetězec tak bys ji měl obalit uvozovkami/apostrofami. $ruf_sql = "SELECT * FROM worksheets WHERE hash='" . $hash . "'" ; |
||
Senky Profil |
#5 · Zasláno: 25. 11. 2009, 18:37:55 · Upravil/a: Senky
Hmm, ďakujem za radu. Pravdepodobne je to v tom, keďže som si overil nejaké veci a zistil som, že hash dáva niečo takéto:
1259170475.doc avšak do databázy sa uloží iba časť pred bodkou, teda 1259170475 netuším však prečo, keďže insert query je takáto: mysql_query("INSERT INTO worksheets (group_id, name_file, name_uploader, note, hash, time) VALUES ('" . $_POST['group'] . "', '" . $_POST['name_file'] . "', '" . $_POST['name_uploader'] . "', '" . $_POST['note'] . "', '" . $hash . "', '" . time() . "')") or die(mysql_query()); a pritom $hash (a $extension) je stále rovnaký, keďže je pred oboma dopytmi: $hash = time() + rand(0,15) . "." . $extension; |
||
Senky Profil |
#6 · Zasláno: 25. 11. 2009, 18:43:18
Tak fajn, poriešil som to ináč. Dal som do databázy nový riadok - extension a hash je iba generovaný čas + random číslo a extension je $extension. Takto to funguje super. A nakoniec, nie je problém potom súbor vybrať a pridať mú príponu a všetko funguje. Ďakujem za pomoc a ochotu...
|
||
panther Profil |
#7 · Zasláno: 25. 11. 2009, 18:46:17
Senky:
nemá sloupec „hash“ nastavenou délku jen na 10 znaků? |
||
Akacko Profil |
#8 · Zasláno: 25. 11. 2009, 18:49:38
Senky:
Divné, mělo by se to uložit celé. Jaký typ má sloupec do kterého ukládáš název souboru (1259170475.doc )? |
||
Senky Profil |
#9 · Zasláno: 25. 11. 2009, 18:59:44
panther:
„nemá sloupec ‚hash‘ nastavenou délku jen na 10 znaků?“ Aha jasné, má.... hneď to prerobím. Dosť mi to pomôže... ďakujem obom... |
||
Senky Profil |
#10 · Zasláno: 25. 11. 2009, 19:08:00
Hmm, tak na to som zabudol. Má dĺžku iba 10 znakov a je typu varchar.
Zmenil som ho však na 16 zakov (čo je najviac ako je fakt možné aj s príponou) a nechal to tak ako to bolo pred tým. Vraciam sa však k starému problému, a to Wrong parameter count for mysql_query() Je to však jedno, lebo tým iba generujem odkaz priamo na súbor. A to veľmi nie je potrebné, takže to vymažem a bude všetko okej... |
||
Časová prodleva: 15 let
|
0