Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php&mysql] problem z danymi
Forum PHP.pl > Forum > Bazy danych
DannyM
Witam.

Chce do bazy dodawac IP i jak mam xxx.xxx.xxx.xxx to mam problem a jak xxx.xxx jest ok.
Jednym slowem jak IP ma wiecej niz 2 kropki to mam blad SQL.
Blad wystepuje jak chce pobrac z bazy dane o danym IP. Czy musze zamieniac kropki na znaki specjalne?
Pole w bazie mam jako text
kszychu
Jaki to błąd sql? Czy na pewno pole jest typu text?
DannyM
Wlasnie jest text i to mnie dziwi a blad to:
Something is wrong in your syntax obok '.00' w linii 1

gdy ip=60.00.00
kszychu
To może spróbuj wprowadzać tak: ip='60.00.00'
DannyM
nie do konca rozumiem gdzie mam to IP tak wpisac?
luki100011
W zapytaniu SQL
Cienki1980
Zamiast wpisywać tak:
  1. <?php
  2. $query="insert into table ip=60.00.00.00";
  3. ?>

wpisz tak:
  1. <?php
  2. $query="insert into table ip='60.00.00.00'";
  3. ?>
DannyM
No efektem jest Something is wrong in your syntax obok '\'60.00.00\'' w linii 1
luki100011
Wklej zapytanie sql i strukturę tabeli z bazy danych.
DannyM
Mam taki link
<a href="info_comp.php?ip=&apos;<?php echo $row_IP_lista['ip']; ?>&apos;"><?php echo $row_IP_lista['ip']; ?>


mysql_select_db($database_baza, $baza);
$query_IP_lista = "SELECT ip, description FROM audit_computer ORDER BY idcomp ASC";
$IP_lista = mysql_query($query_IP_lista, $baza) or die(mysql_error());
$row_IP_lista = mysql_fetch_assoc($IP_lista);
$totalRows_IP_lista = mysql_num_rows($IP_lista);
luki100011
Cytat(DannyM @ 24.01.2007, 12:33:48 ) *
Mam taki link
<a href="info_comp.php?ip=&apos;<?php echo $row_IP_lista['ip']; ?>&apos;"><?php echo $row_IP_lista['ip']; ?>
mysql_select_db($database_baza, $baza);
$query_IP_lista = "SELECT ip, description FROM audit_computer ORDER BY idcomp ASC";
$IP_lista = mysql_query($query_IP_lista, $baza) or die(mysql_error());
$row_IP_lista = mysql_fetch_assoc($IP_lista);
$totalRows_IP_lista = mysql_num_rows($IP_lista);



A strukturę tabeli tez poproszę będzie łatwiej coś wywnioskować :-)
Cienki1980
W tym kodize co podałeś nie ma ani INSERT'a ani UPDATE ... wiec nie wiem co miało na celu pokazanie nam tego kawałka.

Piszesz o wstawianiu do bazy, a pokazujesz wyciągnie danych z bazy.

Pokaż zapytanie, które generuje błąd oraz kod w jakim to zapytanie się znajduje .. no i strukturę tabeli do której wstawiasz te dane.
PS. Na przyszłość używaj BBCODE , tak aby kod był ładnie sformatowany i podświetlony.
luki100011
Ewentualnie wejdz w MYSQL Admin i wklej tam swoje zapytanie do SQL:
"SELECT ip, description FROM audit_computer ORDER BY idcomp ASC";

I zobacz jaki będzie efekt.

A jeżeli dobrze wnioskuje i masz błąd przy pobieraniu informacji o konkretnym numerze ip to wkleiłeś nie to zapytanie bo brakuje klauzuli WHERE exclamation.gif
DannyM
  1. <?php
  2. $colname_info = "1";
  3. if (isset($_GET['ip'])) {
  4. $colname_info = (get_magic_quotes_gpc()) ? $_GET['ip'] : addslashes($_GET['ip']);
  5. }
  6. mysql_select_db($database_baza, $baza);
  7. $query_info = sprintf("SELECT * FROM audit_info, audit_computer, audit_users, audit_soft WHERE ip 
    = %s"
     , $colname_info );
  8. $info = mysql_query($query_info, $baza) or die(mysql_error());
  9. $row_info = mysql_fetch_assoc($info);
  10. $totalRows_info = mysql_num_rows($info);
  11. ?>


baza
  1. TABLE `audit_computer` (
  2. `idcomp` tinyint(20) NOT NULL AUTO_INCREMENT,
  3. `ip` text NOT NULL,
  4. `dns` varchar(15) NOT NULL DEFAULT '',
  5. `description` longtext,
  6. PRIMARY KEY (`idcomp`)
  7. ) TYPE=MyISAM COMMENT='komputer' AUTO_INCREMENT=5 ;


Sorrki ale poczatkujacy jestem winksmiley.jpg
Cienki1980
ALe dalej w kodzie, który pokazałeś nie ma ani kawałka wstawiania informacji do bazy danych.

Gdzie próbujesz wpisać IP do tej bazy questionmark.gif Bo na pewno nie w tym kodzie.
kszychu
Zmień
  1. <?php
  2. $query_info = sprintf("SELECT * FROM audit_info, audit_computer, audit_users, audit_soft WHERE ip 
    = %s"
     , $colname_info );
  3. ?>

na
  1. <?php
  2. $query_info = sprintf("SELECT * FROM audit_info, audit_computer, audit_users, audit_soft WHERE ip 
    = '%s'"
     , $colname_info );
  3. ?>

Chodzi o '%s'
luki100011
Ta część kodu jest prawidłowa questionmark.gif
WHERE ip = %s
w 7 lini questionmark.gif
DannyM
SUPER!

Faktycznie chodzilo o '%s'
Dziekuje bardzo za pomoc.
A moze wyjasnisz jakie to ma znaczenie na przyszlosc winksmiley.jpg
kszychu
Tak na przyszłość: xx.xx traktowane jest jako liczba, natomiast 'xx.xx' jako ciąg ciąg znaków.
DannyM
Cytat(kszychu @ 24.01.2007, 13:28:27 ) *
Tak na przyszłość: xx.xx traktowane jest jako liczba, natomiast 'xx.xx' jako ciąg ciąg znaków.


Piekne dzieki za lekcje winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.