저는 함수를 사용하는 데 상당히 익숙하며 항상 "로우 엔드"코더 였기 때문에 정상적이고 안전하며 품질이 좋은 코드 작업에 더 많은 시간을 투자하기로 결정했습니다.데이터베이스 정보를 한 번 설정하고 여러 PHP 함수에서 사용
이제 하나의 .php 파일에서 여러 기능을 사용하고자하므로 모든 데이터베이스 정보를 한 번 설정하고 필요로하는 모든 기능에서 사용하지 않아도됩니다. 나는 그것을 세계화시키지 않거나 아무것도하지 않는 것으로 잘못하고 있다고 생각하지만 모든 종류의 다른 조합을 시도했다. 아무도 작동하지 않습니다.
이 내 코드는 지금 :는
<?php
function getExperience($userid) {
$dbHost = "*";
$dbUsername = "*";
$dbPassword = "*";
$dbName = "*";
$conn = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
$sql = "SELECT * FROM experience WHERE userid = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $userid);
$stmt->execute();
$result = $stmt->get_result();
while ($print = $result->fetch_assoc()){
echo $print['employer'];
}
}
?>
이 코드는 잘 작동하고 내가 그것을 수행 할 작업을 정확하게 수행하지만, 어떻게 든 나는 각각의 기능에 모든 데이터베이스 정보를 넣을 필요가 없습니다 느낀다 . 나는 호스트, 사용자 이름, 암호 및 db 이름을 한 번 설정하고 필요한 각 기능에서 연결을 사용하는 방법이 있는지 알고 싶습니다.
필자는 전역 값을 함수 외부에 둡니다.하지만 그 값을 작동시키지 못했습니다.
모든 조언을 주시면 감사하겠습니다. 미리 감사드립니다!
실제로 닫는 것이 좋습니다. 그걸 잊어 버렸어. 비록 이것이 어떻게 작동할지 모르겠습니다. 이 스크립트에서 $ dbcon은 무엇을합니까? 함수 내에서 변수를 어떻게 사용할 수 있습니까? 그것은 세계적이든 다른 것이어야하지 않습니까? 내가이 방법을 시도 할 때마다 그것은 실패 할 것이다. 귀하의 답변 주셔서 감사합니다! 해야 할 일에 관해서는 : 그것은 단순히 db로부터 정보를 취하여 사용자에게 보여줄 것입니다. 아무것도 덜 아무것도. – user3299251
필자는 이것을 php 5.4에서 테스트했으며 작동했습니다. 그래서 나는 왜 그것이 당신을 위해 일하지 않을지 모르겠다. 방금 함수 변수를 다른 것으로 명명 했으므로 연결이 함수로 전달되는 방법이 더 명확합니다. 또한 for 루프를 함수의 테스트 에이전트로 추가했습니다. – thebtm