require_once не работает в одном файле, но работает в другом
У меня странная проблема с ошибкой
Неопределенная переменная: sqlConn
И это не может быть проблема с подключением к БД, потому что это выкрикивает еще одну ошибку, что еще более странно, что require_once, идентичный в файле, который находится в том же каталоге, работает просто отлично. Я даже не знаю, что думать. Вот один (РАБОЧИЙ) файл:
<?php require_once("connect.php");?>
<html>
<head>...
..........
...<?php
foreach($sqlConn->query('SELECT * FROM permatable') as $row) {
echo "<tr><td>".$row["Art"]."</td><td>".$row["Ime"]."</td><td>".$row["Uvoz"]."</td><td>".$row["Opis"]."</td><td>".$row["Cijena"]."</td></tr>";
}
?>
И другой (получая ошибку):
<?php require_once("connect.php");?>
<?php
if(isset($_POST["AddFromDB"], $_POST["ArtNo"])){
addExisting($_POST["ArtNo"]);
}
else if(isset($_POST["AddNew"], $_POST["Art"], $_POST["ImeProizvoda"], $_POST["Dobava"], $_POST["Cijena"])){
newItem($_POST["Art"], $_POST["ImeProizvoda"], $_POST["Dobava"], $_POST["Cijena"]);
}
if(isset($_POST["clearList"])){
clearPermaTB();
}
else if (!isset ($_POST)){
echo "error";
}
//Dodaj postojeci proizvod
function addExisting ($Art) {
echo "5";
//Trazi u bazi
$result_set = $sqlConn->query("SELECT Art, Ime, Uvoz, Opis, Cijena FROM proizvod WHERE Art = '{$Art}'");
Итак, еще раз, оба находятся в одном и том же каталоге, оба используют одинаковый код, но по какой-то причине один получает ошибку, а другой нет.
Вот файл подключения:
//Database Connection
$sqlConn = new mysqli($server, $user, $pass, $name);
if ($sqlConn->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
?>
Я делаю ошибку синтаксиса sql?
1 ответ
Это потому что sqlConn
выходит за рамки
Вы пытаетесь вызвать это из своей функции.
Вы можете передать его в качестве аргумента вашей функции или использовать global
даже если это не очень хороший дизайн
Решение 1:
addExisting(xxx, $sqlConn);
// ...
function addExisting($Art, $sqlConn)
{
// use $sqlConn here
}
Решение 2:
addExisting(xxx);
// ...
function addExisting($Art)
{
global $sqlConn;
// use $sqlConn here
}