1
안녕하세요 내가 가진 문제, 내가 mysqli_query 오류가 발생했습니다 때mysqli_error 클래스
mysqli_error가 비어 또는 오류 메시지가 표시되지 않습니다에 빈 클래스입니다.
예 :
<?php
class xD
{
function s()
{
$conn = mysqli_connect('localhost','root','','arena');
return $conn;
}
}
class xP extends xD
{
function a()
{
$query = "SELECT name FROM mytable";
$result = mysqli_query($this->s(), $query) or die("Error in the consult..: " . mysqli_error($this->s()));
}
}
$a = new xP();
$a->a();
?>
OUTPUT :의
오류 발생 문의 .. :
어떻게해야합니까?
감사합니다.
그것은 작동합니다. 그러나 클래스를 호출 할 때 $ conn이없는 다른 방법은 없습니다. $ a = new xP()? – Enalds
종속성을 자체 종속성을 생성하지 않고 객체에 전달하는 것이 좋습니다. Dependency Injection을 살펴보면 유닛 테스트가 쉬워집니다. 새 xP 객체를 생성하고 연결을 처리하는 팩토리를 생성하여'$ a = new xP ($ conn)'를 계속 쓸 필요가 없도록 만들 수 있습니다. 대신 $ a = $ factory-> createXp()'. – MrCode
알았어요. 고맙습니다. – Enalds