Данные не записываются в базу данных MySQL - PullRequest
0 голосов
/ 19 октября 2011

У меня есть два php-файла.

Вот один и код:

<?php
require_once('../includes/php.config.db.php');

//here i have a script (xpath) for exctracting data (work 100%)

  $naslov = $data['naslov'];
  $latitude = $data['lat'];
  $longitude = $data['lng'];
  $latitude = (float) $latitude;
  $lin = $data['link'];
  $vreme = $data['vreme'];

  $popust = str_replace ('POPUST','',$data['popust']);
  $firma = $data['firma']; 
  $telefon = $data['telefon'];
  $email = $data['email'];
  $sajt = $data['sajt'];
  $type = 'bar';


  $latitude = (float) $latitude;
  $longitude = (float) $longitude;

//end 

?>

Второй файл php.config.db.php, который я вызываю выше:

<?php

$link = mysql_connect('localhost', 'user', 'pass') or die('<p>Nije moguce uspostaviti konekciju sa database serverom!</p>');

mysql_select_db('tablename', $link);

mysql_query("SET NAMES utf8");

mysql_query("SET CHARACTER SET utf8");

mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");



function insertNewMarker($name='', $lat='', $lng='', $slika='', $link='', $type='', $popust='', $vaziDo='') {

    if(!empty($name) and !empty($lat) and !empty($lng) and !empty($link)) {

        $name = mysql_real_escape_string(trim($name));



        $sql = "INSERT INTO `markers` (`name`, `lat`, `lng`, `address`, `totolink`, `type`, `popust`, `vaziDo`) <br />

VALUES ('$name', '$lat', '$lng', '$slika', '$link', '$type', '$popust', '$vaziDo')";

        mysql_query($sql) or print "<p>Error in SQL Statement ($sql):<br />". mysql_error() .'</p>';

    }

    else {

        print "<p>Polja 'name', 'lat' i 'lng' ne smiju biti prazna!<br />Vi ste uneli <br />Name:$name<br />Lat:$lat<br />Lng:$lng</p>";

    }

}

?>

но когда я запускаю только php файл, я получаю белый экран без ошибок и моя база данных пуста.ЗАЧЕМ?(извините за мой английский)

1 Ответ

1 голос
/ 19 октября 2011

В вашем выражении SQL INSERT есть тег <br/>

 $sql = "INSERT INTO `markers` (`name`, `lat`, `lng`, `address`, `totolink`, `type`, `popust`, `vaziDo`) <br />

VALUES ('$name', '$lat', '$lng', '$slika', '$link', '$type', '$popust', '$vaziDo')";

Это должно быть что-то вроде:

 $sql = "INSERT INTO `markers` (`name`, `lat`, `lng`, `address`, `totolink`, `type`, `popust`, `vaziDo`) VALUES ('$name', '$lat', '$lng', '$slika', '$link', '$type', '$popust', '$vaziDo')";
...