Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL]Problem z zapytaniem SQL, nvalid default value for 'id'
joCkero
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.07.2007

Ostrzeżenie: (0%)
-----


Witam,

Otoz po zapytaniu SQL
  1. CREATE TABLE shoutbox (
  2. id int(11) DEFAULT '0' NOT NULL AUTO_INCREMENT,
  3. tresc text,
  4. imie text,
  5. ip text,
  6. UNIQUE id (id),
  7. PRIMARY KEY (id)
  8. );

MySQL zwrócił komunikat:
#1067 - Invalid default value for 'id'

Znalazlem na jednym z forow ten sam problem, wtedy ktos poradzil aby wyslac takie zapytanie
  1. CREATE TABLE `shoutbox` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `tresc` text NOT NULL DEFAULT '',
  4. `imie` text NOT NULL DEFAULT '',
  5. `ip` text NOT NULL DEFAULT '',
  6. PRIMARY KEY (`id`)
  7. ) AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


Fakt, wchodiz, bez problemu, ale na stronie wyswietla sie komunikat Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Co zrobic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Jeżeli chodzi o pierwsze zapytanie, wystarczy usunąć z niego "DEFAULT '0'". I tak nie jest potrzebne.

Błąd może jednak wynikać z czego innego...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
joCkero
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.07.2007

Ostrzeżenie: (0%)
-----


Usuniecie default, pomoglo, ale wczesniej juz to wykonalem. Jeydnie wciaż widnieje problem Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/r/a/radiobrg/shoutbox.php on line 40 zawartosc 40 lninijki wyglada nastepujaco while ($wiersz = mysql_fetch_array($wykonaj)) { . Podobnie jest w przypadku panelu administracyjnego.

Ten post edytował joCkero 5.11.2008, 20:09:13
Go to the top of the page
+Quote Post
sowiq
post
Post #4





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
id int(11) DEFAULT '0' NOT NULL auto_increment,
Wartości dla INT'ów podaje się bez cudzysłowów, czyli powinno być:
Cytat
id int(11) DEFAULT 0 NOT NULL auto_increment,


A co do drugiego problemu, pokaż zapytanie, bo to w nim jest najprawdopodobniej błąd.
Go to the top of the page
+Quote Post
joCkero
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.07.2007

Ostrzeżenie: (0%)
-----


Cytat(sowiq @ 5.11.2008, 20:15:38 ) *
Wartości dla INT'ów podaje się bez cudzysłowów, czyli powinno być:

A co do drugiego problemu, pokaż zapytanie, bo to w nim jest najprawdopodobniej błąd.


Usuniecie cudzysłowow nic nie dało, a co do drugie problemu i zapytania, znajduje sie ono w odpowiedziach.
Go to the top of the page
+Quote Post
l0ud
post
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Daj wszystko to, co jest przed 40 linią w shoutbox.php


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
joCkero
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.07.2007

Ostrzeżenie: (0%)
-----


Kod
<?
ob_start();
/*****************************************************/
/*      jPORTAL - internetowy system portalowy       */
/*****************************************************/
/* autor: Pawel 'jaco' Jaczewski                     */
/* email: info@websys.pl                             */
/*****************************************************/
include ('config.php');

#===========================#

function site_main() {

global $tresc, $imie, $all, $ip, $REMOTE_ADDR, $emots, $prefix, $PHP_SELF;

if(is_user_login()=='yes')
$info = get_user_info();

main_title_open();
echo 'Shoutbox';
main_title_close();
main_text_open();
#=================#
$shoutbox = $prefix.'shoutbox';  
$tresc = wordwrap($tresc, 15, " ", 1);
$imie = wordwrap($imie, 15, " ", 1);  
$tresc = strip_tags ($tresc);
$imie = strip_tags ($imie);
#=================#
if ($tresc!="" && $imie!="") {
$zapytanie = "INSERT INTO $shoutbox SET tresc='$tresc', imie='$imie', ip='$ip'";
$wykonaj = mysql_query ($zapytanie);
$dalej="shoutbox.php";
header("Location: $dalej");
}
if ($all!=ok) {
$zapytanie = "SELECT * FROM $shoutbox ORDER BY id DESC LIMIT 10";
$wykonaj = mysql_query($zapytanie);
while ($wiersz = mysql_fetch_array($wykonaj)) {
?>


Ten post edytował joCkero 5.11.2008, 21:09:18
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




strzelam spróbuj tak:

  1. <?php
  2. $sql = mysql_query("SELECT * FROM shoutbox ORDER BY id DESC LIMIT 10");
  3. while ($wiersz = mysql_fetch_array($sql))
  4. ?>


Ten post edytował piotrooo89 5.11.2008, 21:38:45


--------------------
Go to the top of the page
+Quote Post
melkorm
post
Post #9





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Ja obstawiam coś magicznego w prefiksie lub brak połączenia z bazą danych ;p


--------------------
Go to the top of the page
+Quote Post
l0ud
post
Post #10





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


joCkero, za pomocą phpmyadmina zobacz, jakie prefiksy mają inne tabele w bazie danych. Chodzi o powtarzający się fragment na początku każdej nazwy tabeli.

  1. CREATE TABLE [prefix]shoutbox (
  2. id int(11) NOT NULL AUTO_INCREMENT,
  3. tresc text,
  4. imie text,
  5. ip text,
  6. UNIQUE id (id),
  7. PRIMARY KEY (id)
  8. );


Gdzie [prefix] to to, co odczytasz.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
sowiq
post
Post #11





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(joCkero @ 5.11.2008, 20:21:38 ) *
Usuniecie cudzysłowow nic nie dało, a co do drugie problemu i zapytania, znajduje sie ono w odpowiedziach.


Racja. Błąd Twojego zapytania wynikał z tego, że dałeś auto_increment razem z default.
Sorry za wprowadzenie w błąd wstydnis.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:30