2013-03-10 5 views
0

데이터베이스에서 저장 프로 시저를 호출하는 PHP 코드가 있습니다.치명적인 오류 : 함수 이름은 6 행의 C : xampp htdocs ambot database.php에있는 문자열이어야합니다.

<?php 
include("DataBase.php"); 
$sql=$mysqli_query("CALL sp()"); 
if($sql === FALSE) { 
trigger_error('Query failed returning error: '. $mysqli_error(),E_USER_ERROR); 
} else { 
while($row=$mysqli_fetch_array($sql)) 
{ 
echo $row['id'].'--'.$row['item'].''; 
} 
} 
?> 

DB 연결; 코드를 잘못 무엇

Fatal error: Function name must be a string in C:\xampp\htdocs\ambot\database.php on line 6 

:

<?php 
$mysqli_hostname = "localhost"; 
$mysqli_user = "root"; 
$mysqli_password = ""; 
$mysqli_database = "liveedit"; 
$bd = $mysqli_connect($mysqli_hostname, $mysqli_user, $mysqli_password) 
or die("Opps some thing went wrong"); 
$mysqli_select_db($mysqli_database, $bd) or die("Opps some thing went wrong"); 
?> 

코드는이 오류를 반환? 이 문제를 해결하려고했지만 내 코드에서 저장 프로 시저를 사용하여 수정하면 어려움이 추가됩니다.

+0

mysql_query 호출에 오류가 발생하여 'FALSE'를 반환하는 이유는 무엇입니까? PHP의 [mysql_query] (http://php.net/manual/en/function.mysql-query.php) 문서를 참조하십시오. 당신의 질문이 맞습니까? – Aiias

+0

ive 님이 위 내 게시물을 업데이트했습니다. 쿼리를 확인하면 오류가 다릅니다. 그것을 확인하십시오. –

+0

'include ("DataBase.php");'에'root '로 로그인하고 있습니까? 당신은 당신의 프로 시저에 좀 더 은밀한 (defeniner)을 설정하기를 원할 것입니다. [Procedures syntax] (http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html)에있는 MySQL 설명서를 참조하십시오. – Aiias

답변

0

내 컴퓨터에서 코드가 올바르게 작동합니다.

mysqli_* 스위치를 적어도 테스트 목적으로 전환 할 수 있습니다. 그렇게하려면 코드를 변경하고 연결 정보가 올바른지 확인하십시오 (호스트, 사용자 이름, 암호, 데이터베이스 이름).

<?php 
//include("DataBase.php"); 

$db = mysqli_connect("localhost","user","password", "dbname"); 
if (!$db) { 
    die('Could not connect: ' . mysqli_error()); 
} 

$sql = mysqli_query($db, "CALL sp()"); 
if($sql === FALSE) { 
    die('Query failed returning error: '. mysqli_error()); 
} else { 
     while($row=mysqli_fetch_array($sql)) 
     { 
     echo $row['id']. "<br>"; 
     } 
    } 
?> 
+0

@SoonToBeRevealed 내 코드를 사용해보고 알려주는 내용을 보도록하겠습니다. – peterm

+0

ooppps 내 잘못, 나는 "$"모든 mysqli.this 작품을 넣어! 감사합니다! –

+0

도움이 되니 기쁩니다. 행운을 빈다 : D – peterm

관련 문제