o
mysqli_select_db
função, ao usar a API procedural requer que você passe uma conexão real como primeiro parâmetro, como mostrado nas páginas man
. Esta conexão, ou link, é o que mysqli_connect
retorna, então você não deve ignorar o que mysqli_connect
retorna
, mas sim atribua-o a uma variável.A assinatura da função informa claramente tudo isso, então, por favor, RTM . Aqui estão alguns exercícios de copiar e colar:
\/=============================|
bool mysqli_select_db ( mysqli $link , string $dbname ) ||
//returns bool argument 1 argument 2 ||
mysqli mysqli_connect ([...]) ||
//returns type mysqli accepts vast number of arguments ||
// ||
|======== useful here =======================|
Isso significa que você terá que escrever:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
Como o manual de assinatura &&, este
mysqli_select_db
retorna um bool. true
significa que o banco de dados foi selecionado com sucesso, false
indica falha. É melhor adquirir o hábito de verificar os valores de retorno da função . Por mais trivial que pareça. Então:$db = mysqli_connect('localhost', 'root', '');
if (!mysqli_select_db($db, 'video_system'))
{//if return value is false, echo error message and exit script
echo 'Failed to select db "video_system": ', mysqli_error($db), PHP_EOL;
$db = null;//optional, but generally safer
exit(1);//stop execution
}
//db selected, get to work here
Mas você pode facilmente omitir esta segunda chamada de função, passando o nome do banco de dados de escolha para o
mysqli_connect
função desde o início:$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
O que economiza a sobrecarga de uma chamada de função adicional, o que melhora um pouco o desempenho. Eu também mudei o
localhost
string para o endereço IP 127.0.0.1, o que também pode ajudar, porque usar o IP significa que a string não precisa ser resolvida para o endereço IP correspondente.Em suma, acho melhor você gastar algum tempo lendo a documentação