2013-05-31 3 views
1

약 한 시간 전에 내 스크립트를 코딩하기 시작했습니다. 수정 방법이 확실하지 않은 오류가 발생했습니다. 모든 것이 올바르게 구문 분석됩니다. 사용자 이름, 어떤 이유로 PHP 테이블 생성 스크립트를 실행하면 config.php에서 사용자 이름을 파싱하지 않고 사용자 이름없이 스크립트를 실행합니다.스크립트가 로그인 정보를 올바르게 보내지 않습니다.

비록 phpcodechecker.com/이긴하지만 아무런 경고도하지 않고 코드를 넣었습니다. 코드는 나에게 잘 들었지만 정말 초보자입니다. 아마도 거대한 무언가를 놓친 것 같습니다. 어떤 도움이라도 대단히 감사 할 것입니다.

왜이 코드는 연결을 시도 할 때 createtable.php를 통해 사용자 이름을 구문 분석하지 않습니까 ??

문제의 코드 조각. 방법 스택 형식의 ​​코드 블록은 mysqli과 함께 결국 config.php에서 mysql API를 혼합하고 있기 때문에 그래서 난 그냥 페이스트 빈에게

config.php

createtable.php

+0

config.php에서 연결하는 경우 왜 createtable.php에서 다시 연결하나요? – MatthewMcGovern

+0

당신은 아주 좋은 지적을했지만 그것을 제거했지만 여전히 출력 중입니다 정의 된 데이터베이스를 선택할 수 없습니다 : 사용자 ''@ 'localhost'가 'testdb'데이터베이스에 액세스가 거부되었습니다. 이는 여전히 사용자 이름 루트를 보내지 못했다고합니다. 데이터베이스에 왜 이해가 안되는가 –

+1

Fabio의 대답을 살펴보고 문제를 해결해야합니다. – MatthewMcGovern

답변

1

이것은 사용할 것이다 나에게 지옥을 혼란 전혀 연결되지 않음

mysqli_connect($db_hostname, $db_username, $db_password) 

mysql_select_db($db_database) 

올바른 연결을 mysqli를 사용하여 데이터베이스에 확장하려면 (명백한 것은

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db'); 

if ($mysqli->connect_errno) { 
    die('Connect Error: ' . $mysqli->connect_errno); 
} 

당신은 documentation here

난 당신이 단순히 그것을 필요로하는 다른 스크립트 config.php에서 연결을 사용할 수있는 추가하고 싶습니다 확인할 수 있습니다되지 않습니다 mysql_* 기능)이 그런 짓을하기 때문에 y를 더 사용할 수 있습니다.

require('config.php'); 

그래서 당신의 creatables.php

require("config.php"); 

$sql="CREATE TABLE quoter (
    id int NOT NULL AUTO_INCREMENT, 
    quote text NOT NULL, 
    quoteby CHAR(50) NOT NULL, 
    PIMARY KEY (id) 
    )"; 

if (mysqli_query($mysqli,$sql)) 
{ 
    echo "Table 'quoter' was created sucessfully"; 
} 
else 
{ 
    echo "Error creating table 'quoter': ".mysqli_error($mysqli); 
} 

과 같이됩니다 config.php

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db'); 

if ($mysqli->connect_errno) { 
    die('Connect Error: ' . $mysqli->connect_errno); 
} 

난 당신이 통과해야하므로 $mysqli 매개 변수 느릅 나무 핸들 연결이므로주의 할 싶습니다 이 데이터베이스에서 작업을 수행하는 동안, 예 :

mysqli_query($mysqli,$sql); 
      //^here it is 
+0

파비오 감사합니다, 귀하의 게시물은 매우 유익한 소스/문서를 통해 매우 큰 감사, 내가 전체 config.php mysqli에서 다시 시작거야 통해 읽은 후, 거기에 어떤 주요 문제가 createtable.php 파일 config.php에서 mysqli와 충돌하는 것을 볼 수 있습니까? –

+0

@BenF 이해할 수 있도록 내 대답을 업데이트했습니다. 확인하십시오. – Fabio

+0

Fabio는 게시자가 게시 한 모든 내용을 참조하여 몇 가지 작은 변경 사항을 적용했지만 본질적으로 저에게 맞습니다.) 실제로 모든 것을 MySQL로 다시 전환하는 것을 고려하고 있었지만 당신의 도움과 참고 자료로 MySQLi는 그리 위압적이지 않습니다. –

관련 문제