2014-06-14 1 views
0

저는 precios라는 데이터베이스 테이블을 가지고 있습니다. 단 4 개의 열만 있으면 첫 번째 열을 codigo라고합니다. 아이디어는 실제 웹 페이지 이름을 코디고 열의 데이터와 비교하는 것입니다. 예를 들어, 내 실제 웹 페이지 이름은 ... AC01.php라고하며, 표에서 열 코디에는 가격이 다른 열과 함께 AC01 행이 포함되어 있으므로 PHP가 실제 웹 페이지가 AC01.php라는 것을 알고 있으면 가격은 웹 디자인의 여러 부분에서 페이지와 동일한 이름의 행과 관련됩니다. 다음 단계를 진행하기 전에이 비교를 테스트하려고합니다.PHP에서 "함수 이름은 문자열이어야합니다"오류가 발생했습니다

이 내 실제 코드입니다 :

다음이다

드림위버에서
Fatal error: Function name must be a string in ...AC01.php on line 40. 

, 내가 그 라인 (40)을 볼 수

$pageName=basename($_SERVER['REQUEST_URI'], ".php"); (tested, works!) 
$link=mysqli_connect('localhost','%%%','%%%'); (tested, connection works!) 

/*checking connection*/ 
if(mysqli_connect_errn()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$query="SELECT * FROM precios WHERE codigo='$pageName'"; 
$result=mysqli_query($link, $query); 
$row=mysqli_fetch_array($result); 
echo $row; 

mysqli_close($link); 

이 내가지고있어 오류 메시지가

$result=$mysqli_query($link, $query); 
+2

mysqli_query 전에 여분의'$'가 있습니다. '$ result = $ mysqli_query ($ link, $ query);'는'$ result = mysqli_query ($ link, $ query);'가되어야합니다. –

+1

코드 작성 중에도 [SQL 주입] (http://bobby-tables.com) 취약점을 수정하십시오. [MySQLi prepared statements] (http://www.php.net//manual/en/mysqli.quickstart.prepared-statements.php)로 코드를 다시 작성하고 해킹 당하지 않도록 웹 사이트를 저장하십시오. –

+0

mysqli_fetch_array()는 mysqli_fetch_array() 매개 변수 1이 mysqli_result가 될 것으로 기대하고 boolean이 주어진다 ... AC01.php on line 4 ' –

답변

0

이 잘못되었습니다. $를 제거해야합니다. 그래서 귀하의 경우에는 다음과 같습니다 :

$result= mysqli_query($link, $query); 
+0

나는 원래 게시물의 모든 의견을 읽으십시오. 감사 –