Я искал, чтобы создать очень простую базу данных, которая имеет 4 столбца. Во-первых, это локальный int, который является автоматическим, 2-й - это идентификатор ID с одной цифрой, третий - другой INT, а четвертый - измененная переменная (строка). Проблема, которую я имею, однако, заключается в фактической вставке трех переменных.Вставить сломанную переменную в таблицу mysql с php
У меня есть $charIDs
переменное увеличение на 1 в конце цикла for, которое используется в URL-адресе я соскабливаю. переменная $server
является просто статическим int, а переменная $trimmedName
- это фактический текст, который я царапаю с каждой веб-страницы, и он отлично работает.
for($i = 1; $i <= 5; $i++){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://website.com/asddas/asda/search?=$charIDs");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($ch);
$dom = new DOMDocument();
$dom->loadHTML($content);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//*[@id="div_contents"]/div[2]/div[2]/div[2]/div[1]/dl/dd/span/text()');
foreach ($tags as $tag) {
trim($name = $tag->nodeValue);
}
if ($name != null){
$trimmedName = trim($name);
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO players (serverID, charID, charName)
VALUES ('$server', '$charIDs', '$trimmedName')";
$conn->close();
$name = null;
$trimmedName = null;
}
$charIDs++;
}
Я проверил переменные, имена таблиц и т. Д., И я не уверен, почему он не работает. Я могу вставлять строки вручную в базу данных.
У вас возникли ошибки? Было бы также полезно увидеть схему таблиц «игроков». вставьте результаты 'desc players' в вопрос. – robbmj
'$ ch = curl_init();' следует перемещать за пределы цикла – Yang